<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="th">
	<id>http://158.108.32.49/wiki/index.php?action=history&amp;feed=atom&amp;title=418531_%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B8%95%E0%B9%89%E0%B8%99_2552%2F%E0%B9%82%E0%B8%88%E0%B8%97%E0%B8%A2%E0%B9%8C%E0%B8%9B%E0%B8%B1%E0%B8%8D%E0%B8%AB%E0%B8%B2%E0%B8%AD%E0%B8%B1%E0%B8%A5%E0%B8%81%E0%B8%AD%E0%B8%A3%E0%B8%B4%E0%B8%97%E0%B8%B6%E0%B8%A1%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B8%95%E0%B8%B0%E0%B8%81%E0%B8%A5%E0%B8%B0_II%2F%E0%B9%80%E0%B8%89%E0%B8%A5%E0%B8%A2%E0%B8%82%E0%B9%89%E0%B8%AD_7</id>
	<title>418531 ภาคต้น 2552/โจทย์ปัญหาอัลกอริทึมแบบตะกละ II/เฉลยข้อ 7 - ประวัติรุ่นแก้ไข</title>
	<link rel="self" type="application/atom+xml" href="http://158.108.32.49/wiki/index.php?action=history&amp;feed=atom&amp;title=418531_%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B8%95%E0%B9%89%E0%B8%99_2552%2F%E0%B9%82%E0%B8%88%E0%B8%97%E0%B8%A2%E0%B9%8C%E0%B8%9B%E0%B8%B1%E0%B8%8D%E0%B8%AB%E0%B8%B2%E0%B8%AD%E0%B8%B1%E0%B8%A5%E0%B8%81%E0%B8%AD%E0%B8%A3%E0%B8%B4%E0%B8%97%E0%B8%B6%E0%B8%A1%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B8%95%E0%B8%B0%E0%B8%81%E0%B8%A5%E0%B8%B0_II%2F%E0%B9%80%E0%B8%89%E0%B8%A5%E0%B8%A2%E0%B8%82%E0%B9%89%E0%B8%AD_7"/>
	<link rel="alternate" type="text/html" href="http://158.108.32.49/wiki/index.php?title=418531_%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B8%95%E0%B9%89%E0%B8%99_2552/%E0%B9%82%E0%B8%88%E0%B8%97%E0%B8%A2%E0%B9%8C%E0%B8%9B%E0%B8%B1%E0%B8%8D%E0%B8%AB%E0%B8%B2%E0%B8%AD%E0%B8%B1%E0%B8%A5%E0%B8%81%E0%B8%AD%E0%B8%A3%E0%B8%B4%E0%B8%97%E0%B8%B6%E0%B8%A1%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B8%95%E0%B8%B0%E0%B8%81%E0%B8%A5%E0%B8%B0_II/%E0%B9%80%E0%B8%89%E0%B8%A5%E0%B8%A2%E0%B8%82%E0%B9%89%E0%B8%AD_7&amp;action=history"/>
	<updated>2026-05-06T22:15:37Z</updated>
	<subtitle>ประวัติรุ่นแก้ไขของหน้านี้ในวิกิ</subtitle>
	<generator>MediaWiki 1.33.1</generator>
	<entry>
		<id>http://158.108.32.49/wiki/index.php?title=418531_%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B8%95%E0%B9%89%E0%B8%99_2552/%E0%B9%82%E0%B8%88%E0%B8%97%E0%B8%A2%E0%B9%8C%E0%B8%9B%E0%B8%B1%E0%B8%8D%E0%B8%AB%E0%B8%B2%E0%B8%AD%E0%B8%B1%E0%B8%A5%E0%B8%81%E0%B8%AD%E0%B8%A3%E0%B8%B4%E0%B8%97%E0%B8%B6%E0%B8%A1%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B8%95%E0%B8%B0%E0%B8%81%E0%B8%A5%E0%B8%B0_II/%E0%B9%80%E0%B8%89%E0%B8%A5%E0%B8%A2%E0%B8%82%E0%B9%89%E0%B8%AD_7&amp;diff=7581&amp;oldid=prev</id>
		<title>158.108.233.127 เมื่อ 08:58, 30 กันยายน 2552</title>
		<link rel="alternate" type="text/html" href="http://158.108.32.49/wiki/index.php?title=418531_%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B8%95%E0%B9%89%E0%B8%99_2552/%E0%B9%82%E0%B8%88%E0%B8%97%E0%B8%A2%E0%B9%8C%E0%B8%9B%E0%B8%B1%E0%B8%8D%E0%B8%AB%E0%B8%B2%E0%B8%AD%E0%B8%B1%E0%B8%A5%E0%B8%81%E0%B8%AD%E0%B8%A3%E0%B8%B4%E0%B8%97%E0%B8%B6%E0%B8%A1%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B8%95%E0%B8%B0%E0%B8%81%E0%B8%A5%E0%B8%B0_II/%E0%B9%80%E0%B8%89%E0%B8%A5%E0%B8%A2%E0%B8%82%E0%B9%89%E0%B8%AD_7&amp;diff=7581&amp;oldid=prev"/>
		<updated>2009-09-30T08:58:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;th&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;←รุ่นแก้ไขก่อนหน้า&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;รุ่นแก้ไขเมื่อ 08:58, 30 กันยายน 2552&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;แถว 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;แถว 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;สังเกตได้ว่า cycle ที่มีความยาวเป็น 4 นั้น ถ้าพิจารณาอีกมุมหนึ่งก็คือ vertex 4 vertex ที่มี edge เชื่อมจาก vertex ที่หนึ่งไป vertex ที่สอง จาก vertex ที่สองไป vertex ที่สาม จาก vertex ที่สามไป vertex ที่สี่ และจาก vertex &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ที่  4 ไป &lt;/del&gt;vertex ที่หนึ่งนั่นเอง ดังนั้นถ้าเราใช้เทคนิคแบบ brute force เราจะได้ว่า วัตถุที่เราต้องการค้นหาคือ vertex 4 vertex จากทั้งหมด &amp;lt;math&amp;gt; n=|V| \,&amp;lt;/math&amp;gt; vertex ที่มีเงื่อนไขข้างต้นนั่นเอง ดังนั้นเวลาการทำงานของอัลกอริทึมแบบ brute force นี้จะเป็น &amp;lt;math&amp;gt; {n \choose 4}=O(n^4) \,&amp;lt;/math&amp;gt; นั่นเอง แต่เนื่องจากโจทย์ข้อนี้ต้องการให้ได้เวลาการทำงานเป็น &amp;lt;math&amp;gt; O(n^3) \,&amp;lt;/math&amp;gt; ดังนั้น อัลกอริทึมข้างต้นจึงใช้ไม่ได้&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;สังเกตได้ว่า cycle ที่มีความยาวเป็น 4 นั้น ถ้าพิจารณาอีกมุมหนึ่งก็คือ vertex 4 vertex ที่มี edge เชื่อมจาก vertex ที่หนึ่งไป vertex ที่สอง จาก vertex ที่สองไป vertex ที่สาม จาก vertex ที่สามไป vertex ที่สี่ และจาก vertex &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ที่สี่ไป &lt;/ins&gt;vertex ที่หนึ่งนั่นเอง ดังนั้นถ้าเราใช้เทคนิคแบบ brute force เราจะได้ว่า วัตถุที่เราต้องการค้นหาคือ vertex 4 vertex จากทั้งหมด &amp;lt;math&amp;gt; n=|V| \,&amp;lt;/math&amp;gt; vertex ที่มีเงื่อนไขข้างต้นนั่นเอง ดังนั้นเวลาการทำงานของอัลกอริทึมแบบ brute force นี้จะเป็น &amp;lt;math&amp;gt; {n \choose 4}=O(n^4) \,&amp;lt;/math&amp;gt; นั่นเอง แต่เนื่องจากโจทย์ข้อนี้ต้องการให้ได้เวลาการทำงานเป็น &amp;lt;math&amp;gt; O(n^3) \,&amp;lt;/math&amp;gt; ดังนั้น อัลกอริทึมข้างต้นจึงใช้ไม่ได้&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;เราจะใช้อัลกอริทึมต่อไปนี้แทน&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;เราจะใช้อัลกอริทึมต่อไปนี้แทน&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot; &gt;แถว 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;แถว 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[ไฟล์:greedy2_7.JPG]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[ไฟล์:greedy2_7.JPG]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;จาก cycle &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ที่เป็นความยาวสี่ข้างต้น &lt;/del&gt;เราจะได้ว่า &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;จากที่เราต้องเลือก &lt;/del&gt;vertex 4 vertex มาแล้วหา edge เชื่อมระหว่าง vertex ทั้งสี่นี้ เราสามารถ เลือก vertex มาแค่ 2 vertex &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;แล้ว &lt;/del&gt;ซึ่งการเลือก vertex 2 vertex จาก n vertex จะได้เวลาการทำงานเป็น &amp;lt;math&amp;gt; O(n^2) \,&amp;lt;/math&amp;gt; และโจทย์ต้องการให้ได้เวลาการทำงานทั้งหมดเป็น &amp;lt;math&amp;gt; O(n^3) \,&amp;lt;/math&amp;gt; ดังนั้นถ้าเราสามารถหาอีก 2 vertex ที่เหลือได้ในเวลาการทำงานอีก &amp;lt;math&amp;gt; O(n) \,&amp;lt;/math&amp;gt; เราก็จะได้เวลาการทำงานรวมเป็น &amp;lt;math&amp;gt; O(n^3) \,&amp;lt;/math&amp;gt; ตามที่ต้องการ&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;จาก cycle &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ที่มีความยาวสี่ข้างต้น &lt;/ins&gt;เราจะได้ว่า &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;จากเดิมที่ต้องเลือก &lt;/ins&gt;vertex 4 vertex มาแล้วหา edge เชื่อมระหว่าง vertex ทั้งสี่นี้ เราสามารถ เลือก vertex มาแค่ 2 vertex ซึ่งการเลือก vertex 2 vertex จาก n vertex จะได้เวลาการทำงานเป็น &amp;lt;math&amp;gt; O(n^2) \,&amp;lt;/math&amp;gt; และโจทย์ต้องการให้ได้เวลาการทำงานทั้งหมดเป็น &amp;lt;math&amp;gt; O(n^3) \,&amp;lt;/math&amp;gt; ดังนั้นถ้าเราสามารถหาอีก 2 vertex ที่เหลือได้ในเวลาการทำงานอีก &amp;lt;math&amp;gt; O(n) \,&amp;lt;/math&amp;gt; เราก็จะได้เวลาการทำงานรวมเป็น &amp;lt;math&amp;gt; O(n^3) \,&amp;lt;/math&amp;gt; ตามที่ต้องการ&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;จากตัวอย่าง โดยไม่เสียความเป็นทั่วไป สมมติให้เราเลือก vertex มาสอง vertex คือ &amp;lt;math&amp;gt; a \,&amp;lt;/math&amp;gt; กับ &amp;lt;math&amp;gt; d \,&amp;lt;/math&amp;gt; แล้วเราสามารถหา vertex ที่เหลือคือ &amp;lt;math&amp;gt; b \,&amp;lt;/math&amp;gt; กับ &amp;lt;math&amp;gt; c \,&amp;lt;/math&amp;gt; ได้ดังนี้ พิจารณา adjacency matirx ที่ใช้แทนกราฟนี้ พิจารณาว่า ถ้าเราจะหาอีกสอง vertex (&amp;lt;math&amp;gt; b,c \,&amp;lt;/math&amp;gt;) ที่มี edge เชื่อมกับ สอง vertex ที่เราเลือกมาแล้ว (&amp;lt;math&amp;gt; a,d \,&amp;lt;/math&amp;gt;)&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;โดยพิจารณา &lt;/del&gt;row ต่าง ๆ ใน matrix ถ้ามี row 2 row ที่มีเลข 1 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;สองตัว &lt;/del&gt;ตรง column &amp;lt;math&amp;gt; a \,&amp;lt;/math&amp;gt; กับ &amp;lt;math&amp;gt; d \,&amp;lt;/math&amp;gt; พร้อมกัน เราก็จะเลือก vertex ที่อยู่ใน row นั้น &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ซึ่งการทำแบบนี้จะใช้เวลาอย่างมาก &lt;/del&gt;คือสำรวจ row ทุก ๆ row ใน matrix ซึ่งจำนวน row ทั้งหมดจะเท่ากับจำนวน vertex ซึ่งก็คือ &amp;lt;math&amp;gt; n \,&amp;lt;/math&amp;gt; นั่นเอง สรุปอัลกอริทึมคือ เลือก vertex 2 vertex จาก n vertex และสำหรับแต่ละคู่ของ vertex &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ที่เลือกมาดังนั้น &lt;/del&gt;เราก็ไล่หาไปตาม row ใน adjacency matrix หาอีกสอง row ที่มีเลข 1 ตรง column ของ vertex สอง vertex &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ที่เราเลือกข้างต้น &lt;/del&gt;เราจะได้ว่า อัลกอริทึมข้างต้นใช้เวลาในการเลือกสอง vertex แรกเป็น &amp;lt;math&amp;gt; O(n^2) \,&amp;lt;/math&amp;gt; และสำหรับแต่ละคู่ของ vertex ที่เลือกใช้เวลาสำรวจ row อีก &amp;lt;math&amp;gt; O(n) \,&amp;lt;/math&amp;gt; ดังนั้นเวลาการทำงานทั้งหมดจึงเป็น &amp;lt;math&amp;gt; O(n^3) \,&amp;lt;/math&amp;gt; ตามต้องการ&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;จากตัวอย่าง โดยไม่เสียความเป็นทั่วไป สมมติให้เราเลือก vertex มาสอง vertex คือ &amp;lt;math&amp;gt; a \,&amp;lt;/math&amp;gt; กับ &amp;lt;math&amp;gt; d \,&amp;lt;/math&amp;gt; แล้วเราสามารถหา vertex ที่เหลือคือ &amp;lt;math&amp;gt; b \,&amp;lt;/math&amp;gt; กับ &amp;lt;math&amp;gt; c \,&amp;lt;/math&amp;gt; ได้ดังนี้ พิจารณา adjacency matirx ที่ใช้แทนกราฟนี้ พิจารณาว่า ถ้าเราจะหาอีกสอง vertex (&amp;lt;math&amp;gt; b,c \,&amp;lt;/math&amp;gt;) ที่มี edge เชื่อมกับ สอง vertex ที่เราเลือกมาแล้ว (&amp;lt;math&amp;gt; a,d \,&amp;lt;/math&amp;gt;)&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ได้โดยพิจารณา &lt;/ins&gt;row ต่าง ๆ ใน matrix ถ้ามี row &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;อย่างน้อย &lt;/ins&gt;2 row ที่มีเลข 1 ตรง column &amp;lt;math&amp;gt; a \,&amp;lt;/math&amp;gt; กับ &amp;lt;math&amp;gt; d \,&amp;lt;/math&amp;gt; พร้อมกัน เราก็จะเลือก vertex ที่อยู่ใน row นั้น&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(ถ้ามีมากกว่า 2 ให้เลือกสองตัวใด ๆ ก็ได้) ซึ่งการทำแบบจะใช้เวลาอย่างมาก &lt;/ins&gt;คือสำรวจ row ทุก ๆ row ใน matrix ซึ่งจำนวน row ทั้งหมดจะเท่ากับจำนวน vertex ซึ่งก็คือ &amp;lt;math&amp;gt; n \,&amp;lt;/math&amp;gt; นั่นเอง สรุปอัลกอริทึมคือ เลือก vertex 2 vertex จาก n vertex และสำหรับแต่ละคู่ของ vertex &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ที่เลือกมาข้างต้น &lt;/ins&gt;เราก็ไล่หาไปตาม row ใน adjacency matrix หาอีกสอง row ที่มีเลข 1 ตรง column ของ vertex สอง vertex &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ที่เราเลือกข้างต้นตรงกัน &lt;/ins&gt;เราจะได้ว่า อัลกอริทึมข้างต้นใช้เวลาในการเลือกสอง vertex แรกเป็น &amp;lt;math&amp;gt; O(n^2) \,&amp;lt;/math&amp;gt; และสำหรับแต่ละคู่ของ vertex ที่เลือกใช้เวลาสำรวจ row อีก &amp;lt;math&amp;gt; O(n) \,&amp;lt;/math&amp;gt; ดังนั้นเวลาการทำงานทั้งหมดจึงเป็น &amp;lt;math&amp;gt; O(n^3) \,&amp;lt;/math&amp;gt; ตามต้องการ&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>158.108.233.127</name></author>
		
	</entry>
	<entry>
		<id>http://158.108.32.49/wiki/index.php?title=418531_%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B8%95%E0%B9%89%E0%B8%99_2552/%E0%B9%82%E0%B8%88%E0%B8%97%E0%B8%A2%E0%B9%8C%E0%B8%9B%E0%B8%B1%E0%B8%8D%E0%B8%AB%E0%B8%B2%E0%B8%AD%E0%B8%B1%E0%B8%A5%E0%B8%81%E0%B8%AD%E0%B8%A3%E0%B8%B4%E0%B8%97%E0%B8%B6%E0%B8%A1%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B8%95%E0%B8%B0%E0%B8%81%E0%B8%A5%E0%B8%B0_II/%E0%B9%80%E0%B8%89%E0%B8%A5%E0%B8%A2%E0%B8%82%E0%B9%89%E0%B8%AD_7&amp;diff=7580&amp;oldid=prev</id>
		<title>Aoy เมื่อ 08:34, 30 กันยายน 2552</title>
		<link rel="alternate" type="text/html" href="http://158.108.32.49/wiki/index.php?title=418531_%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B8%95%E0%B9%89%E0%B8%99_2552/%E0%B9%82%E0%B8%88%E0%B8%97%E0%B8%A2%E0%B9%8C%E0%B8%9B%E0%B8%B1%E0%B8%8D%E0%B8%AB%E0%B8%B2%E0%B8%AD%E0%B8%B1%E0%B8%A5%E0%B8%81%E0%B8%AD%E0%B8%A3%E0%B8%B4%E0%B8%97%E0%B8%B6%E0%B8%A1%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B8%95%E0%B8%B0%E0%B8%81%E0%B8%A5%E0%B8%B0_II/%E0%B9%80%E0%B8%89%E0%B8%A5%E0%B8%A2%E0%B8%82%E0%B9%89%E0%B8%AD_7&amp;diff=7580&amp;oldid=prev"/>
		<updated>2009-09-30T08:34:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;th&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;←รุ่นแก้ไขก่อนหน้า&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;รุ่นแก้ไขเมื่อ 08:34, 30 กันยายน 2552&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;แถว 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;แถว 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;สังเกตได้ว่า cycle ที่มีความยาวเป็น 4 นั้น ถ้าพิจารณาอีกมุมหนึ่งก็คือ vertex 4 vertex ที่มี edge เชื่อมจาก vertex ที่หนึ่งไป vertex ที่สอง จาก vertex ที่สองไป vertex ที่สาม จาก vertex ที่สามไป vertex ที่สี่ และจาก vertex ที่  4 ไป vertex ที่หนึ่งนั่นเอง ดังนั้นถ้าเราใช้เทคนิคแบบ brute force เราจะได้ว่า วัตถุที่เราต้องการค้นหาคือ vertex 4 vertex จากทั้งหมด &amp;lt;math&amp;gt; n \,&amp;lt;/math&amp;gt; vertex ที่มีเงื่อนไขข้างต้นนั่นเอง ดังนั้นเวลาการทำงานของอัลกอริทึมแบบ brute force นี้จะเป็น &amp;lt;math&amp;gt; {n \choose 4}=O(n^4) \,&amp;lt;/math&amp;gt; นั่นเอง แต่เนื่องจากโจทย์ข้อนี้ต้องการให้ได้เวลาการทำงานเป็น &amp;lt;math&amp;gt; O(n^3) \,&amp;lt;/math&amp;gt; ดังนั้น อัลกอริทึมข้างต้นจึงใช้ไม่ได้&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;สังเกตได้ว่า cycle ที่มีความยาวเป็น 4 นั้น ถ้าพิจารณาอีกมุมหนึ่งก็คือ vertex 4 vertex ที่มี edge เชื่อมจาก vertex ที่หนึ่งไป vertex ที่สอง จาก vertex ที่สองไป vertex ที่สาม จาก vertex ที่สามไป vertex ที่สี่ และจาก vertex ที่  4 ไป vertex ที่หนึ่งนั่นเอง ดังนั้นถ้าเราใช้เทคนิคแบบ brute force เราจะได้ว่า วัตถุที่เราต้องการค้นหาคือ vertex 4 vertex จากทั้งหมด &amp;lt;math&amp;gt; n&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;=|V| &lt;/ins&gt;\,&amp;lt;/math&amp;gt; vertex ที่มีเงื่อนไขข้างต้นนั่นเอง ดังนั้นเวลาการทำงานของอัลกอริทึมแบบ brute force นี้จะเป็น &amp;lt;math&amp;gt; {n \choose 4}=O(n^4) \,&amp;lt;/math&amp;gt; นั่นเอง แต่เนื่องจากโจทย์ข้อนี้ต้องการให้ได้เวลาการทำงานเป็น &amp;lt;math&amp;gt; O(n^3) \,&amp;lt;/math&amp;gt; ดังนั้น อัลกอริทึมข้างต้นจึงใช้ไม่ได้&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;เราจะใช้อัลกอริทึมต่อไปนี้แทน&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;เราจะใช้อัลกอริทึมต่อไปนี้แทน&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;พิจารณา cycle ที่มีความยาวสี่ ต่อไปนี้&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[ไฟล์:greedy2_7.JPG]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;จาก cycle ที่เป็นความยาวสี่ข้างต้น เราจะได้ว่า จากที่เราต้องเลือก vertex 4 vertex มาแล้วหา edge เชื่อมระหว่าง vertex ทั้งสี่นี้ เราสามารถ เลือก vertex มาแค่ 2 vertex แล้ว ซึ่งการเลือก vertex 2 vertex จาก n vertex จะได้เวลาการทำงานเป็น &amp;lt;math&amp;gt; O(n^2) \,&amp;lt;/math&amp;gt; และโจทย์ต้องการให้ได้เวลาการทำงานทั้งหมดเป็น &amp;lt;math&amp;gt; O(n^3) \,&amp;lt;/math&amp;gt; ดังนั้นถ้าเราสามารถหาอีก 2 vertex ที่เหลือได้ในเวลาการทำงานอีก &amp;lt;math&amp;gt; O(n) \,&amp;lt;/math&amp;gt; เราก็จะได้เวลาการทำงานรวมเป็น &amp;lt;math&amp;gt; O(n^3) \,&amp;lt;/math&amp;gt; ตามที่ต้องการ&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;จากตัวอย่าง โดยไม่เสียความเป็นทั่วไป สมมติให้เราเลือก vertex มาสอง vertex คือ &amp;lt;math&amp;gt; a \,&amp;lt;/math&amp;gt; กับ &amp;lt;math&amp;gt; d \,&amp;lt;/math&amp;gt; แล้วเราสามารถหา vertex ที่เหลือคือ &amp;lt;math&amp;gt; b \,&amp;lt;/math&amp;gt; กับ &amp;lt;math&amp;gt; c \,&amp;lt;/math&amp;gt; ได้ดังนี้ พิจารณา adjacency matirx ที่ใช้แทนกราฟนี้ พิจารณาว่า ถ้าเราจะหาอีกสอง vertex (&amp;lt;math&amp;gt; b,c \,&amp;lt;/math&amp;gt;) ที่มี edge เชื่อมกับ สอง vertex ที่เราเลือกมาแล้ว (&amp;lt;math&amp;gt; a,d \,&amp;lt;/math&amp;gt;)โดยพิจารณา row ต่าง ๆ ใน matrix ถ้ามี row 2 row ที่มีเลข 1 สองตัว ตรง column &amp;lt;math&amp;gt; a \,&amp;lt;/math&amp;gt; กับ &amp;lt;math&amp;gt; d \,&amp;lt;/math&amp;gt; พร้อมกัน เราก็จะเลือก vertex ที่อยู่ใน row นั้น ซึ่งการทำแบบนี้จะใช้เวลาอย่างมาก คือสำรวจ row ทุก ๆ row ใน matrix ซึ่งจำนวน row ทั้งหมดจะเท่ากับจำนวน vertex ซึ่งก็คือ &amp;lt;math&amp;gt; n \,&amp;lt;/math&amp;gt; นั่นเอง สรุปอัลกอริทึมคือ เลือก vertex 2 vertex จาก n vertex และสำหรับแต่ละคู่ของ vertex ที่เลือกมาดังนั้น เราก็ไล่หาไปตาม row ใน adjacency matrix หาอีกสอง row ที่มีเลข 1 ตรง column ของ vertex สอง vertex ที่เราเลือกข้างต้น เราจะได้ว่า อัลกอริทึมข้างต้นใช้เวลาในการเลือกสอง vertex แรกเป็น &amp;lt;math&amp;gt; O(n^2) \,&amp;lt;/math&amp;gt; และสำหรับแต่ละคู่ของ vertex ที่เลือกใช้เวลาสำรวจ row อีก &amp;lt;math&amp;gt; O(n) \,&amp;lt;/math&amp;gt; ดังนั้นเวลาการทำงานทั้งหมดจึงเป็น &amp;lt;math&amp;gt; O(n^3) \,&amp;lt;/math&amp;gt; ตามต้องการ&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Aoy</name></author>
		
	</entry>
	<entry>
		<id>http://158.108.32.49/wiki/index.php?title=418531_%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B8%95%E0%B9%89%E0%B8%99_2552/%E0%B9%82%E0%B8%88%E0%B8%97%E0%B8%A2%E0%B9%8C%E0%B8%9B%E0%B8%B1%E0%B8%8D%E0%B8%AB%E0%B8%B2%E0%B8%AD%E0%B8%B1%E0%B8%A5%E0%B8%81%E0%B8%AD%E0%B8%A3%E0%B8%B4%E0%B8%97%E0%B8%B6%E0%B8%A1%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B8%95%E0%B8%B0%E0%B8%81%E0%B8%A5%E0%B8%B0_II/%E0%B9%80%E0%B8%89%E0%B8%A5%E0%B8%A2%E0%B8%82%E0%B9%89%E0%B8%AD_7&amp;diff=7578&amp;oldid=prev</id>
		<title>Aoy: หน้าที่ถูกสร้างด้วย &#039;สังเกตได้ว่า cycle ที่มีความยาวเป็น 4 นั้น ถ้าพิจารณา…&#039;</title>
		<link rel="alternate" type="text/html" href="http://158.108.32.49/wiki/index.php?title=418531_%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B8%95%E0%B9%89%E0%B8%99_2552/%E0%B9%82%E0%B8%88%E0%B8%97%E0%B8%A2%E0%B9%8C%E0%B8%9B%E0%B8%B1%E0%B8%8D%E0%B8%AB%E0%B8%B2%E0%B8%AD%E0%B8%B1%E0%B8%A5%E0%B8%81%E0%B8%AD%E0%B8%A3%E0%B8%B4%E0%B8%97%E0%B8%B6%E0%B8%A1%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B8%95%E0%B8%B0%E0%B8%81%E0%B8%A5%E0%B8%B0_II/%E0%B9%80%E0%B8%89%E0%B8%A5%E0%B8%A2%E0%B8%82%E0%B9%89%E0%B8%AD_7&amp;diff=7578&amp;oldid=prev"/>
		<updated>2009-09-30T07:25:08Z</updated>

		<summary type="html">&lt;p&gt;หน้าที่ถูกสร้างด้วย &amp;#039;สังเกตได้ว่า cycle ที่มีความยาวเป็น 4 นั้น ถ้าพิจารณา…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;หน้าใหม่&lt;/b&gt;&lt;/p&gt;&lt;div&gt;สังเกตได้ว่า cycle ที่มีความยาวเป็น 4 นั้น ถ้าพิจารณาอีกมุมหนึ่งก็คือ vertex 4 vertex ที่มี edge เชื่อมจาก vertex ที่หนึ่งไป vertex ที่สอง จาก vertex ที่สองไป vertex ที่สาม จาก vertex ที่สามไป vertex ที่สี่ และจาก vertex ที่  4 ไป vertex ที่หนึ่งนั่นเอง ดังนั้นถ้าเราใช้เทคนิคแบบ brute force เราจะได้ว่า วัตถุที่เราต้องการค้นหาคือ vertex 4 vertex จากทั้งหมด &amp;lt;math&amp;gt; n \,&amp;lt;/math&amp;gt; vertex ที่มีเงื่อนไขข้างต้นนั่นเอง ดังนั้นเวลาการทำงานของอัลกอริทึมแบบ brute force นี้จะเป็น &amp;lt;math&amp;gt; {n \choose 4}=O(n^4) \,&amp;lt;/math&amp;gt; นั่นเอง แต่เนื่องจากโจทย์ข้อนี้ต้องการให้ได้เวลาการทำงานเป็น &amp;lt;math&amp;gt; O(n^3) \,&amp;lt;/math&amp;gt; ดังนั้น อัลกอริทึมข้างต้นจึงใช้ไม่ได้&lt;br /&gt;
&lt;br /&gt;
เราจะใช้อัลกอริทึมต่อไปนี้แทน&lt;/div&gt;</summary>
		<author><name>Aoy</name></author>
		
	</entry>
</feed>