<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.ta.in.th/index.php?action=history&amp;feed=atom&amp;title=Summary_Graph_Algorithm</id>
	<title>Summary Graph Algorithm - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ta.in.th/index.php?action=history&amp;feed=atom&amp;title=Summary_Graph_Algorithm"/>
	<link rel="alternate" type="text/html" href="https://wiki.ta.in.th/index.php?title=Summary_Graph_Algorithm&amp;action=history"/>
	<updated>2026-05-02T16:42:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.33.0-alpha</generator>
	<entry>
		<id>https://wiki.ta.in.th/index.php?title=Summary_Graph_Algorithm&amp;diff=89&amp;oldid=prev</id>
		<title>Tata: Created page with &quot;MST =====================================================  1. Kruskal  O(V log V)   	+ เรียง edge  	+ วนทุกเส้นแล้วดูว่าทั้...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.ta.in.th/index.php?title=Summary_Graph_Algorithm&amp;diff=89&amp;oldid=prev"/>
		<updated>2019-03-07T17:12:39Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;MST =====================================================  1. Kruskal  O(V log V)   	+ เรียง edge  	+ วนทุกเส้นแล้วดูว่าทั้...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;MST&lt;br /&gt;
=====================================================&lt;br /&gt;
 1. Kruskal  O(V log V)  &lt;br /&gt;
	+ เรียง edge &lt;br /&gt;
	+ วนทุกเส้นแล้วดูว่าทั้งสองจุดที่ปลาย edge อยู่เซ็ตเดียวกันรึยัง ถ้ายังก็ union set&lt;br /&gt;
&lt;br /&gt;
 2. Prim&lt;br /&gt;
	-- ถ้าเก็บใส่ Adj Matrix O(V^2)&lt;br /&gt;
	-- ถ้าเก็บใส่ Adj List O(E log V)&lt;br /&gt;
	1. หยิบซักจุด push (จุดนั้น, ระยะทาง=0) เข้า min-heap (เรียงตามระยะทาง)&lt;br /&gt;
	2. pop จุด (ที่ไปถึงได้ในระยะใกล้สุด) ออกมาจาก heap&lt;br /&gt;
	3. ดูว่าจุดที่จะไปนั้นเคยเชื่อมไปรึยัง ถ้าเชื่อมแล้วก็ไม่เอาไปทำข้อ 4 ต่อ  แต่ถ้ายังก็เอาก็ mark ไว้ว่าจุดนี้เอาไปแล้ว&lt;br /&gt;
	4. เอา edge รอบๆจุดนั้น  push (จุดที่ปลายเส้น, ความยาว edge) ยัดใส่ min-heap (priority queue)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shortest Path&lt;br /&gt;
=====================================================&lt;br /&gt;
 1. Dijkstra (เขียนเหมือน Prim แก้นิดเดียว คือ แทนที่จะ push เส้น ก็ไป push จุด,ระยะทาง  แทน)&lt;br /&gt;
	** ใช้กับ Graph ที่มี negative cycle ไม่ได้ (ใช้ได้เฉพาะกับ Negative Acyclic Graph)&lt;br /&gt;
	-- ถ้าเก็บใส่ Adj Matrix O(V^2)&lt;br /&gt;
	-- ถ้าเก็บใส่ Adj List O(E log V)&lt;br /&gt;
	-- เขียนเหมือน prim เลย  แต่แทนที่ ขั้นตอนที่ 4 จะ  push (จุดที่ปลายเส้น, ความยาว edge)  ก็เปลี่ยนเป็น push(จุดที่ปลายเส้น , ระยะทางที่เดินทางมาถึงจุดปัจจถุบัน +ความยาว edge ) แทน&lt;br /&gt;
 2. Bellman-Ford &lt;br /&gt;
	** ใช้กับ Graph ที่มี negative cycle ได้&lt;br /&gt;
	-- O(VE)&lt;br /&gt;
 3. BFS&lt;br /&gt;
	** ใช้กับ edge ที่ weight เท่ากันหมด&lt;br /&gt;
	** ส่วนมากใช้กับพวกเดินในตารางที่นับก้าวเท่ากันหมด&lt;br /&gt;
&lt;br /&gt;
All pair shortest path&lt;br /&gt;
=====================================================&lt;br /&gt;
 3. Floyd Warshall&lt;br /&gt;
	-- O(V^3)&lt;/div&gt;</summary>
		<author><name>Tata</name></author>
		
	</entry>
</feed>