SlideShare une entreprise Scribd logo
1  sur  54
GraphGraph
Data Structure and AlgorithmData Structure and Algorithm
หัวข้อในบทนี้
นิยามกราฟ
ประโยชน์ของกราฟ
อินดีกรีและเอาท์ดีกรี
กราฟสมบูรณ์
กราฟแบบมีนำ้าหนัก
การแทนที่กราฟใน
คอมพิวเตอร์
การท่องไปในกราฟ
นิยามกราฟ
กราฟ คือเซ็ตของโหนด(Vertex) และ
เส้นเชื่อม (Edge)
G = (V,E)
โหนด แสดงถึง Object เช่น ชื่อเมือง,
สถานที่ท่องเที่ยว
เส้นเชื่อม (Edge) แสดงความสัมพันธ์ของ 2
โหนด มีความหมายแล้วแต่การนิยาม เช่น
ระยะทาง, เวลา
A B
C D
Edge
Node
2 4
3
1
นิยามกราฟ
V(G) = {A,B,C,D}
E(G) = {(A,B,3),(A,D,4),(A,C,2),
(B,D,1)}
A B
C D
Edge
Node
2 4
3
1
G = (V,E)
2
2
2
2
จงแสดง V และ E ของกราฟนี้
V(G) =
E(G) =
1
3
2
1
1
A
D
E
G
F
C
B
Graph VS. Tree
กราฟเป็น Super Set ของต้นไม้
Tree ต้องมี Father Node เพียงโหนดเดียว, แต่
Graph ไม่จำาเป็น
บางโหนดอาจไม่มีเส้นเชื่อมได้ เช่น บางเมืองไม่มี
สายการบิน
(2) Non binary tree
B D
A
F
C
E G
B
A
C
E G
(1) Binary tree (3) Graph
โหนด A,C,D มี Father โหนดมาก
B
A
F
C
E G
D
B
A
F
C
E G
D
(4) Graph
โหนด E,G ไม่มีเส้นเชื่อม
ประโยชน์ของกราฟ (Routing
การหาเส้นทาง)
สายการบิน (การเชื่อมต่อของสายการบิน
ตารางบิน)
ประโยชน์ของกราฟ (Routing
การหาเส้นทาง)
Network (การเชื่อมต่อของอุปกรณ์ Router)
เพื่อใช้ในการรับส่งข้อมูลในเครือข่าย
ประโยชน์ของกราฟ
(Algorithm Design)
Map Coloring คือวิธีการระบายสีในแผนที่โดย
ใช้สีน้อยที่สุด
พื้นที่ติดกันห้ามใช้สีเดียวกัน
Directed & Undirected
Graph
Undirected Graph คือกราฟที่เส้นเชื่อม
ไม่มีลูกศรกำากับทิศทาง
หมายถึงความสัมพันธ์ของ 2 โหนดแบบ
ไปและกลับ
H
B
A
F
C
E G
D
directed Graph แสดงสายการบินของ Air Asia
Undirected
Graph แสดงโหนด
และเส้นเชื่อมของ
กราฟรูปหนึ่ง
Directed & Undirected
Graph
Directed Graph คือกราฟที่เส้นเชื่อมมีลูกศร
กำากับทิศทาง
เช่น อาจมีสายการบินจาก กรุงเทพ-เสียมเลียบ
กัมพูชา แต่ไม่มีสายการบินจาก เสียมเลียบ-
กรุงเทพ
หรือ Edge แสดงค่าโดยสารที่มีราคา ไป-กลับไม่
เท่ากัน
หรือ ค่าโทรศัพท์ไทยไปสิงคโปร์ แพงกว่า
สิงคโปร์โทรหาไทย
Singapore
Cambodia
Indonesia
Thai
Undirected Graph แสดงค่า
อัตราค่าโทรศัพท์ระหว่างประเทศ
(เป็นราคาสมมติเท่านั้น)
7
4
6
10
65
Unweighted Graph (กราฟไม่มีนำ้า
หนัก)
กราฟแบบนี้เส้นเชื่อมแสดงถึงความสำาพันธ์ของ 2
โหนด (เหมือนกราฟทั่วไป)
เส้นเชื่อมแสดงถึงความหมายบางอย่าง (เหมือนกับ
กราฟทั่วไป)
แต่ไม่ระบุข้อมูลหรือค่าบางอย่าง (แตกต่างจากสิ่ง
อื่นๆ )
เช่น ถนนที่เชื่อมเมือง 2 เมืองแต่ไม่ระบุระยะ
ทาง
ผังรถไฟฟ้าใต้ดิน แต่ไม่ระบุราคาค่าโดยสาร
ระหว่างสถานี
หรือมองว่าค่าข้อมูลเหล่านั้นมีค่าเท่ากันหมด
อาจเป็น Directed หรือ Undirected Graph
ก็ได้
B
A
F
C
E G
D B
A
F
C
E G
D
eighted & Undirected GraphUnweighted & directed Graph
Weighted Graph (กราฟมีนำ้าหนัก)
กราฟแบบนี้เส้นเชื่อมแสดงถึงความสำาพันธ์ของ 2
โหนด (เหมือนกราฟทั่วไป)
เส้นเชื่อมแสดงถึงความหมายบางอย่าง (เหมือนกับ
กราฟทั่วไป)
เส้นเชื่อมระบุข้อมูลหรือค่าบางอย่างที่ต้องการบ่งชี้
เช่น ถนนที่เชื่อมเมือง 2 เมืองพร้อมระบุระยะ
ทางระหว่างเมือง
อาจเป็น Directed หรือ Undirected Graph
ก็ได้
B
A
B
A
C
D
Weighted & Undirected GraphWeighted & directed Graph
C
D
7 6
6
5
7 6
6
5
อินดีกรีและเอาท์ดีกรี
แต่ละโหนดจะมีจำานวนเส้นเชื่อมระหว่าง
โหนดไม่เท่ากัน
In-degree แสดงจำานวนเส้นเชื่อมที่เข้า
มายังโหนดนั้นๆ
Out-degree แสดงจำานวนเส้นเชื่อมที่ออก
จากโหนดนั้นไป
ใน Undirected Graph จำานวน In-
degree และ Out-degree จะเท่ากัน
B
A
C D
Node In-degree Out-Degreee
A 3 3
B 1 1
C 2 2
D 2 2
B
A
C D
Node In-degree Out-Degreee
A 3 1
B 0 1
C 0 2
D 2 1
Undirected Graph Directed Graph
Complete Graph (กราฟ
สมบูรณ์)
กราฟที่ทุกโหนดมีเส้นเชื่อมถึงโหนด
อื่นๆ ทั้งหมด
A
CB
E
D
F
G H
กราฟมีทิศทาง
จำานวน Edge = N*(N-1)
เช่น 3*(3-1) =6
กราฟ
ไม่มีทิศทาง
จำานวน Edge =
N*(N-1)
การแทนที่กราฟใน
คอมพิวเตอร์
Simple Array Representation
Complex Array Representation
Linked-list Array
Representation
Mixed Array Representation
Simple Array Representation of Graph
T
T
T
T T
1 2 3 4
1
2
3
4
1 2
3 4
Unweighted graph
Ideal view Computerized view
1
1
1
1 1
1 2 3 4
1
2
3
4
OR
1 2
3 4
Weighted graph
3
14
2
1
3
2
1
4 1
1 2 3 4
1
2
3
Simple Array Representation of Graph
1
1
1
1 1
1 2 3 4
1
2
3
4
1 2
3 4
Directed graph
Ideal view Computerized view
1
2
3
4
Vertex Edge
struct ArrStr{
r vertrics[NumberOfNode][StringLength
at edges[NumberOfNode][NumberOfNod
truct;
ชื่อโหนด เส้นเชื่อม
Linked-list Representation of Graph
1
2
3
2 /
vertices
1 2
3 4
4
/
3 /
4 /
1 2 /
edges
edge(1,2)
edge(2,3)
edge(3,4)
edge(4,1) edge(4,2)
Directed graph
Ideal view Computerized view
vertices ชี้ edge, n
edges ชี้ node,
Mixed Representation of Graph
1
2
3
2 /
vertices
1 2
3 4
4
3 /
4 /
1 2 /
edges
Directed graph
Array Linked-list
Ideal view Computerized view
การท่องไปในกราฟ
คือการค้นหาเส้นทางจากโหนดหนึ่ง ไปยังโหนดที่
ต้องการในกราฟ
หากหาเส้นทางได้ไปยังโหนดได้ แสดงว่าโหนด
เริ่มต้นสามารถเชื่อมต่อกับโหนดนั้นได้ เช่นหาเส้น
ทางการบินจากกรุงเทพ ไปยัง Dallas อเมริกา
ในกราฟ อาจมีบางโหนดที่ไม่สามารถเชื่อมกันก็
เป็นได้
2 วิธี Breadth-first Search, Depth-first
Search
A
D
B C
FE
G H
D
B
C
F
E
I
โหนด F สามารถเดินทางไปยัง B ได้หรือไม่?
อาจมีบางโหนดที่ไม่สามารถเชื่อมกันก็เป็น
ได้
 ใน Directed Graph
 หากเริ่มจาก B : B->C, B->F, B ->
C -> E แต่ไม่สามารถไปถึง D ได้
 หากเริ่มจาก F : ไม่สามารถเชื่อมกับ
โหนดอื่นๆ ได้เลย
D
B
C
F
E
โหนด F สามารถเดินทางไปยัง B ได้หรือไม่?
A
D
B C
FE
G H
I
ใน Undirected Graph โหนด
ที่เชื่อมกันสามารถเข้าถึงกันได้
หมด
หากเริ่มจาก B : สามารถเข้าถึง
ได้ทุกโหนดยกเว้น A
หากเริ่มจาก A : ไม่สามารถ
เชื่อมกับโหนดอื่นๆ ได้เลย
เพราะ A ไม่เชื่อมต่อกับใครเลย
Breadth-first Search
คือการค้นหาโหนดใดในกราฟ โดยดูในแนวกว้าง
ก่อน
ใช้ Queue เป็นเครื่องมือในการช่วยค้นหา
ตัวอย่างการหาโหนด E เริ่มจากโหนด B
D
B
C
F
E
B
C F
B
C F
B
E
Step 1 Step 2 Step 3Found!
Algorithm: Breadth-First
Search
1. Queue = {startVertex}
/*โครงสร้าง queue/
2. Until (ค้นพบ endVertex หรือ Queue ว่าง)
Do
2.1 ดึงสมาชิกตัวแรกใน Queue ออกมา(ให้
ชื่อว่า E) 2.2 สำาหรับโหนดใดๆ ที่
เชื่อมต่อกับ E ให้ทำาดังนี้
2.2.1 ทดสอบโหนดนั้นว่าเป็น
endVertex หรือไม่
2.2.2 หากเป็น endVertex ให้คืนค่า
แล้วจบการค้นหา
2.2.3 หากไม่เป็น endVertex ให้เซ็ต
Breadth-first Search (ตัวอย่าง)
D
B
C
F
E
B
B
p 1: Queue = {B}
: หยิบโหนด B ออกมาสร้างโหนด
สำาหรับโหนด C ที่เชื่อมอยู่กับโหนด B
Queue = {B}
ริ่มจาก B ต้องการค้นหา E
Step Node Que
Queue = {ว่าง
Queue = {ว่าง
C
Breadth-first Search (ตัวอย่าง)
tep Node Que
C ไม่ใช่ endVertex จับใส่ Queue Que
C
B
าหรับโหนด F ที่เชื่อมอยู่กับโหนด B Qu
C F
B
F ไม่ใช่ endVertex จับใส่ Queue QueC F
B
หยิบโหนด C ออกมาสร้างโหนด Queue
C F
B
Breadth-first Search (ตัวอย่าง)
Node E คือ endVertex
ดังนั้นให้คืนค่าและจบการค้นหา
Step Node Que
สำาหรับโหนด E ที่เชื่อมอยู่กับโหนด C Queue = {F}
C F
B
E
ภาพหลังจากการค้นหา
C F
B
E
(1)
(2) (3)
(4)
Breadth-first Search (แบบ
ฝึกหัด)
D
B
C
F
Eจากรูปขวามือให้สร้างภาพขั้นตอน
การค้นหาจากโหนด D ไปยังโหนด
E โดยใช้ Breadth-first Search
Breadth-first Search (แบบ
ฝึกหัด)
จากรูปขวามือให้สร้างภาพขั้นตอน
การค้นหาจากโหนด C ไปยังโหนด
G โดยใช้ Breadth-first Search A
D
B C
FE
G H
I
Breadth-first Search (แบบ
ฝึกหัด)
จากรูปขวามือให้สร้างภาพขั้นตอน
การค้นหาจากโหนด I ไปยังโหนด B
โดยใช้ Breadth-first Search A
D
B C
FE
G H
I
Depth-First Search
คือการค้นหาโหนดใดในกราฟ โดยดูในแนวลึก
ก่อน
ใช้ Stack เป็นเครื่องมือในการช่วยค้นหา
ตัวอย่างการหาโหนด E เริ่มจากโหนด B
D
B
C
F
E
B
C
B
C
B
E
Step 1 Step 2 Step 3Found!
ภาพ Step การค้นหาของ Depth-
First Search
Algorithm: Depth-first
Search
1. Push(Stack,startVertex) /
*กำาหนดค่าใน Stack*/
2.ให้ทำาจนพบโหนด endVertex หรือ Stack มี
ค่าว่าง
2.1 X = Pop(Stack) //หยิบค่าใน Stack
ออกมา
2.2 ถ้า X = endVertex ให้คืนค่าและจบการ
ค้นหา
2.3 ถ้าไม่
2.3.1 เซ็ตสถานะว่า โหนด X ถูกค้นหามา
แล้ว
2.3.2 หาทุกโหนดที่เชื่อมต่อกับ X ไว้ใน
Depth-first Search(ตัวอย่าง)
D
B
C
F
E
p 1: Stack = {B}
Step 2: ยังไม่พบโหนด และ
Stack ยังไม่ว่าง
X =Pop(Stack) //ค่าของ X คือโหนด B
Stack = {ว่าง
ริ่มจาก B ต้องการค้นหา E
Stack = {ว่าง
4: X ไม่ใช่ โหนดที่ต้องการค้นหา
ห้กำาหนดว่า B เป็นโหนดที่ค้นหามาแล้วB
Step Node Sta
B
Stack = {B}
Stack = {B}
Depth-first Search(ตัวอย่าง)
5: List = {C, F} //หาทุกโหนดที่ต่อกับ X
Step 6: Push(Stack, List
กลับลำาดับ)
Stack = {ว่างB
Stack = {F,C
7: X =Pop(Stack) //ค่าของ X คือโหนด C
Stack = {F}
Stack = {F}
8: X ไม่ใช่ โหนดที่ต้องการค้นหา
ให้กำาหนดว่า C เป็นโหนดที่ค้นหามาแล้วB
C
Step Node Sta
B
B
C
Depth-first Search(ตัวอย่าง)
ep 9: List = {E} //หาทุกโหนดที่ต่อกับ X
Step 10: Push(Stack, List
กลับลำาดับ)
Stack = {F}
Stack = {F,E}
11: X =Pop(Stack) //ค่าของ X คือโหนด E
Stack = {F}
Stack = {F}
X คือโหนดที่ค้นหา ให้คืนค่าและหยุดการค้นหา
B
C
E
Step Node StaB
C
B
C
B
C
E
Depth-first Search(ตัวอย่าง)
C
B
E
(1)
(2)
(3)
ภาพหลังจากการค้นหา
Depth-first Search (แบบฝึกหัด)
D
B
C
F
Eจากรูปขวามือให้สร้างภาพขั้นตอน
การค้นหาจากโหนด D ไปยังโหนด
E โดยใช้ Depth-first Search
Depth-first Search (แบบฝึกหัด)
จากรูปขวามือให้สร้างภาพขั้นตอน
การค้นหาจากโหนด C ไปยังโหนด
G โดยใช้ Depth-first Search A
D
B C
FE
G H
I
Depth-first Search (แบบฝึกหัด)
จากรูปขวามือให้สร้างภาพขั้นตอน
การค้นหาจากโหนด I ไปยังโหนด B
โดยใช้ Depth-first Search A
D
B C
FE
G H
I
Single Source Shortest
Pathหรือ Dijkstra’s Algorithm / Dijkstra เป็น
นักคณิตศาสตร์ชาวดัทซ์
ใช้หาเส้นทางจากโหนดเริ่มต้นไปยังโหนดใดๆให้
มีระยะทางที่สั้นที่สุด
มีประโยชน์ ในงานพวกขนส่งสินค้า เช่นต้องการ
ขนส่งจากจุดหนึ่งไปยังจุดหนึ่งด้วยทางที่สั้นที่สุด
B
A
C
E
D
G
F
3
6
1
5
6
10
5
6 7
3
C
D
F
3
6
1
6
10
5
Single Source Shortest Path
(พิจารณาที่ B)
B
A
E G
Single Source Shortest
PathAlgorithm นี้คล้ายกับ Breadth-first Search
ปรับปรุงนิดหน่อยคือ
ใช้คิวชนิด Priority Queue
ใช้เส้นทางรวมจากจุดเริ่มต้นมายังโหนดนั้นๆ
เพื่อระบุ Priority ของสมาชิกที่อยู่ในคิว
ใช้ได้กับค่า Edge ที่มีค่าตั้งแต่ 0 ขึ้นไป
Single Source Shortest Path
Single Source Shortest
Path
1. PriorityQueue = {startVertex}
/*โครงสร้าง queue แบบมีอภิสิทธ์*/
2. Until PriorityQueue ว่าง Do
1.1 ดึงสมาชิกตัวแรกใน Queue ออกมา(ให้ชื่อ
ว่า X)
1.2 หาก X เคยถูกเลือกเป็นเส้นทางแล้ว กลับไป
ข้อ 1.1
1.3 เลือกโหนด X ให้เป็นเส้นทางจริง
1.4 สำาหรับโหนดใดๆ ที่เชื่อมต่อกับ X ให้ทำาดังนี้
1.4.1 คำานวณระยะทางรวมของโหนด X
มายังโหนดนั้นๆ
Single Source Shortest Path
(ตัวอย่าง)
ep Queue Gra
B
A
C
E
D
G
F
3
6
1
5
6
10
5
6 7
3
B
A
C
E
3
5
6
B
1. PriorityQueue = {startVertex}
PQ={(B,B,0)}
2. ดึงสมาชิกตัวแรกออกมา
PQ={}
3. เลือก B ให้เป็นเส้นทางจริง
PQ={}
4. สำาหรับทุกโหนดที่ต่อกับ B คำานวณระยะ
ทางแล้วนำากลับไปเก็บใน PQ
B
PQ={(B,A,3),(B,E,5),(B,C,6)}
3
5
6
รอบที่ 1
A
3
Single Source Shortest Path
(ตัวอย่าง)
ep Queue Gra
B
A
C
E
3
5
6
B5. ดึง (B,A,3) สมาชิกตัวแรกออกมา
PQ={(B,E,5),(B,C,6)}
6. เลือก A ให้เป็นเส้นทางจริง
PQ={(B,E,5),(B,C,6)}
7. สำาหรับทุกโหนดที่ต่อกับ A คำานวณระยะ
ทางแล้วนำากลับไปเก็บใน PQPQ={(A,E,4),(B,E,5),(B,C,6),(A,D,9
A
3
B
D
1
63
3
3
9
4
6
5
รอบที่ 2
Single Source Shortest Path
(ตัวอย่าง)
ep Queue Gra
B
A
C
E
3
5
6
8. ดึง(A,E,4)สมาชิกตัวแรกออกมา
PQ={(B,E,5),(B,C,6),(A,D,9)}
9. เลือก E ให้เป็นเส้นทางจริง
PQ={(B,E,5),(B,C,6),(A,D,9)}
10. สำาหรับทุกโหนดที่ต่อกับ E คำานวณระยะ
ทางแล้วนำากลับไปเก็บใน PQ
PQ={(B,E,5),(B,C,6),(E,C,7)(A,D,9),(E,G,9)(E
D
1
63
4
6
5
B
A
E
3 1
45
B
A
E
3 1
45
9
3 G95
รอบที่ 3
Single Source Shortest Path
(ตัวอย่าง)
ep Queue Gra
11. ดึง(B,E,5) สมาชิกตัวแรกออกมา PQ={(B,C,6),
(E,C,7)(A,D,9),(E,G,9)(E,D,10)}
B
A
E
3 1
4แต่เนื่องจาก (B,E,5) โหนด
E ถูกเลือกเป็นเส้นทาง
หลักไปแล้ว ดังนั้นจึงไม่
สนใจ
รอบที่ 4
Single Source Shortest Path
(ตัวอย่าง)
ep Queue Gra
B
A
C
E
3
6
12. ดึง(B,C,6) สมาชิกตัวแรกออกมา PQ={(E,C,7)
(A,D,9),(E,G,9)(E,D,10)}
13. เลือก C ให้เป็นเส้นทางจริง PQ={(E,C,7)
(A,D,9),(E,G,9)(E,D,10)}
1
3
6
B
A
E
3 1
4
4
รอบที่ 5
14. สำาหรับทุกโหนดที่ต่อ
กับ C คำานวณระยะทางแล้ว
นำากลับไปเก็บใน PQ
3
10
B
A
C
E
3
6
D
1
6
4
6
5
9
G95
F
E,C,7)(A,D,9),(E,G,9),(E,D,10),(C,F,16)}
16หตุ (C,E,9)ไม่ต้อง Add เพราะ E ถูกเลือกไปแล้ว
Single Source Shortest Path
(ตัวอย่าง)
ep Queue Gra
B
A
C
E
3
6
15. ดึง(E,C,7) สมาชิกตัวแรกออกมา
PQ={(A,D,9),(E,G,9),(E,D,10),(C,F,16)}
1
3
6
4
รอบที่ 6
แต่เนื่องจาก (E,C,7) โหนด
C ถูกเลือกเป็นเส้นทาง
หลักไปแล้ว ดังนั้นจึงไม่
สนใจ
Single Source Shortest Path
(ตัวอย่าง)
ep Queue Gra
B
A
C
E
3
6
16. ดึง (A,D,9) สมาชิกตัวแรกออกมา
PQ={(E,G,9), (E,D,10),(C,F,16)}
1
3
6
4
รอบที่ 7
7. เลือก D ให้เป็นเส้นทางจริง
18. สำาหรับทุกโหนดที่ต่อ
กับ D คำานวณระยะทางแล้ว
นำากลับไปเก็บใน PQ
3
10
B
A
C
E
3
6
D
1
6
4
6
5
9
G95
F
(E,G,9), (E,D,10),(C,F,16),(D,G,16)}
16
D
96
Single Source Shortest Path
(ตัวอย่าง)
ep Queue Gra
B
A
C
E
3
6
19. ดึง (E,G,9) สมาชิกตัวแรกออกมา
PQ={(E,D,10),(C,F,16),(D,G,16)}
1
3
6
4
รอบที่ 8
0. เลือก G ให้เป็นเส้นทางจริง
21. สำาหรับทุกโหนดที่ต่อ
กับ G คำานวณระยะทางแล้ว
นำากลับไปเก็บใน PQ
3
10
B
A
C
E
3
6
D
1
6
4
6
5
9
3 G95
F
={(E,D,10),(C,F,16),(D,G,16)}
16
D
96
G
5 9
Single Source Shortest Path
(ตัวอย่าง)
ep Queue Gra
22. ดึง (E,D,10) สมาชิกตัวแรกออกมา
PQ={(C,F,16),(D,G,16)}
รอบที่ 9
แต่เนื่องจาก (E,D,10)
โหนด D ถูกเลือกเป็นเส้น
ทางหลักไปแล้ว ดังนั้นจึง
ไม่สนใจ
23. ดึง (C,F,16) สมาชิกตัวแรกออกมา
PQ={(D,G,16)}
รอบที่ 10
24. เลือก F ให้เป็นเส้นทาง
จริง
25. สำาหรับทุกโหนดที่ต่อกับ
F คำานวณระยะทางแล้วนำา
กลับไปเก็บใน PQ (ไม่มี
3
10
B
A
C
E
3
6
D
1
6
4
6
5
9
3 G95
F16
Single Source Shortest Path
(ตัวอย่าง)
ep Queue Gra
26. ดึง (D,G,16) สมาชิกตัวแรกออกมา
PQ={}
รอบที่ 11
แต่เนื่องจาก (D,G,16)
โหนด G ถูกเลือกเป็นเส้น
ทางหลักไปแล้ว ดังนั้นจึง
ไม่สนใจ27. เมื่อ PriorityQueue ว่าง จึงจบการทำางาน
10
B
A
C
E
3
6
D
1
6
3 G
5
F
Single Source Shortest
Path (แบบฝึกหัด)
3
1
5
4
จงแสดงขั้นตอนการหา Single Source
Shortest Path จาก โหนด C
B
A
C
EC C
C
6 3
4
3
1
5
4
A
C
C C
C
6
เฉลย
3
B E
Single Source Shortest
Path (แบบฝึกหัด)
B
A
C
E
3 1
5
6 3
1. จงหา Single
Source Shortest
Path จาก โหนด E
3 3
5
6 3
2. จงหา Single
Source Shortest
Path จาก โหนด E 6
B
A
C
E
F

Contenu connexe

Tendances

เครื่องมือทางภูมิศาสตร์
เครื่องมือทางภูมิศาสตร์เครื่องมือทางภูมิศาสตร์
เครื่องมือทางภูมิศาสตร์nasomyon13
 
ข้อสอบ LAS ปี ๒๕๕๗ นิยาม Lnr
ข้อสอบ LAS ปี ๒๕๕๗ นิยาม Lnrข้อสอบ LAS ปี ๒๕๕๗ นิยาม Lnr
ข้อสอบ LAS ปี ๒๕๕๗ นิยาม LnrKhunnawang Khunnawang
 
9.เนื้อเยื่อพืช
9.เนื้อเยื่อพืช9.เนื้อเยื่อพืช
9.เนื้อเยื่อพืชWichai Likitponrak
 
รูปเล่มวิชาโครงงาน
รูปเล่มวิชาโครงงานรูปเล่มวิชาโครงงาน
รูปเล่มวิชาโครงงานAjBenny Pong
 
21 วิธีการสอน และเอกสารฝ่ายวิชาการ
21 วิธีการสอน และเอกสารฝ่ายวิชาการ21 วิธีการสอน และเอกสารฝ่ายวิชาการ
21 วิธีการสอน และเอกสารฝ่ายวิชาการProud N. Boonrak
 
บทที่ 3 การออกแบบและพัฒนานวัตกรรม สื่อ และเทคโนโลยีสารสนเทศเพื่อการเรียนรู้
บทที่ 3 การออกแบบและพัฒนานวัตกรรม สื่อ และเทคโนโลยีสารสนเทศเพื่อการเรียนรู้บทที่ 3 การออกแบบและพัฒนานวัตกรรม สื่อ และเทคโนโลยีสารสนเทศเพื่อการเรียนรู้
บทที่ 3 การออกแบบและพัฒนานวัตกรรม สื่อ และเทคโนโลยีสารสนเทศเพื่อการเรียนรู้panisa thepthawat
 
นาฏศิลป์สากล
นาฏศิลป์สากลนาฏศิลป์สากล
นาฏศิลป์สากลPonpirun Homsuwan
 
วิวัฒนาการละครไทยในสมัยต่างๆ ละครไทย ละครสากล ละครสร้างสรรค์ ม.4-6
วิวัฒนาการละครไทยในสมัยต่างๆ  ละครไทย  ละครสากล  ละครสร้างสรรค์  ม.4-6วิวัฒนาการละครไทยในสมัยต่างๆ  ละครไทย  ละครสากล  ละครสร้างสรรค์  ม.4-6
วิวัฒนาการละครไทยในสมัยต่างๆ ละครไทย ละครสากล ละครสร้างสรรค์ ม.4-6Panomporn Chinchana
 
ยาสีฟันสมุนไพรสูตรโบราณ
ยาสีฟันสมุนไพรสูตรโบราณยาสีฟันสมุนไพรสูตรโบราณ
ยาสีฟันสมุนไพรสูตรโบราณsekzazo
 
เอกสารประกอบการเรียน วิชานาฏศิลป์ การประดิษฐ์ท่ารำ รำคุ่ รำหมู่
เอกสารประกอบการเรียน  วิชานาฏศิลป์  การประดิษฐ์ท่ารำ  รำคุ่  รำหมู่เอกสารประกอบการเรียน  วิชานาฏศิลป์  การประดิษฐ์ท่ารำ  รำคุ่  รำหมู่
เอกสารประกอบการเรียน วิชานาฏศิลป์ การประดิษฐ์ท่ารำ รำคุ่ รำหมู่Panomporn Chinchana
 
แบบฝึก แฟกทอเรียล N
แบบฝึก แฟกทอเรียล Nแบบฝึก แฟกทอเรียล N
แบบฝึก แฟกทอเรียล NOranee Seelopa
 
ชุดการสอนประกอบการเรียนรู้ เรื่อง การอนุรักษ์นาฏศิลป์และภูมิปัญญาท้องถิ่น
ชุดการสอนประกอบการเรียนรู้ เรื่อง การอนุรักษ์นาฏศิลป์และภูมิปัญญาท้องถิ่นชุดการสอนประกอบการเรียนรู้ เรื่อง การอนุรักษ์นาฏศิลป์และภูมิปัญญาท้องถิ่น
ชุดการสอนประกอบการเรียนรู้ เรื่อง การอนุรักษ์นาฏศิลป์และภูมิปัญญาท้องถิ่นครูเย็นจิตร บุญศรี
 
ครูเย็นจิตร บุญศรี เอกสารประกอบการเรียนเรื่อง ประวัติบุคคลสำคัญในนาฏศิลป์และก...
ครูเย็นจิตร บุญศรี เอกสารประกอบการเรียนเรื่อง ประวัติบุคคลสำคัญในนาฏศิลป์และก...ครูเย็นจิตร บุญศรี เอกสารประกอบการเรียนเรื่อง ประวัติบุคคลสำคัญในนาฏศิลป์และก...
ครูเย็นจิตร บุญศรี เอกสารประกอบการเรียนเรื่อง ประวัติบุคคลสำคัญในนาฏศิลป์และก...Kruple Ratchanon
 
ตัวอย่าง ปกรายงาน
ตัวอย่าง ปกรายงานตัวอย่าง ปกรายงาน
ตัวอย่าง ปกรายงานSamorn Tara
 
การวัดผลและประเมินผลการเรียนรู้
การวัดผลและประเมินผลการเรียนรู้การวัดผลและประเมินผลการเรียนรู้
การวัดผลและประเมินผลการเรียนรู้สุเทพ สอนนิล
 
การเรียนการสอนแบบเกม (1)
การเรียนการสอนแบบเกม (1)การเรียนการสอนแบบเกม (1)
การเรียนการสอนแบบเกม (1)zay wanida
 

Tendances (20)

เครื่องมือทางภูมิศาสตร์
เครื่องมือทางภูมิศาสตร์เครื่องมือทางภูมิศาสตร์
เครื่องมือทางภูมิศาสตร์
 
ข้อสอบ LAS ปี ๒๕๕๗ นิยาม Lnr
ข้อสอบ LAS ปี ๒๕๕๗ นิยาม Lnrข้อสอบ LAS ปี ๒๕๕๗ นิยาม Lnr
ข้อสอบ LAS ปี ๒๕๕๗ นิยาม Lnr
 
9.เนื้อเยื่อพืช
9.เนื้อเยื่อพืช9.เนื้อเยื่อพืช
9.เนื้อเยื่อพืช
 
รูปเล่มวิชาโครงงาน
รูปเล่มวิชาโครงงานรูปเล่มวิชาโครงงาน
รูปเล่มวิชาโครงงาน
 
21 วิธีการสอน และเอกสารฝ่ายวิชาการ
21 วิธีการสอน และเอกสารฝ่ายวิชาการ21 วิธีการสอน และเอกสารฝ่ายวิชาการ
21 วิธีการสอน และเอกสารฝ่ายวิชาการ
 
บทที่ 3 การออกแบบและพัฒนานวัตกรรม สื่อ และเทคโนโลยีสารสนเทศเพื่อการเรียนรู้
บทที่ 3 การออกแบบและพัฒนานวัตกรรม สื่อ และเทคโนโลยีสารสนเทศเพื่อการเรียนรู้บทที่ 3 การออกแบบและพัฒนานวัตกรรม สื่อ และเทคโนโลยีสารสนเทศเพื่อการเรียนรู้
บทที่ 3 การออกแบบและพัฒนานวัตกรรม สื่อ และเทคโนโลยีสารสนเทศเพื่อการเรียนรู้
 
นาฏศิลป์สากล
นาฏศิลป์สากลนาฏศิลป์สากล
นาฏศิลป์สากล
 
วิวัฒนาการละครไทยในสมัยต่างๆ ละครไทย ละครสากล ละครสร้างสรรค์ ม.4-6
วิวัฒนาการละครไทยในสมัยต่างๆ  ละครไทย  ละครสากล  ละครสร้างสรรค์  ม.4-6วิวัฒนาการละครไทยในสมัยต่างๆ  ละครไทย  ละครสากล  ละครสร้างสรรค์  ม.4-6
วิวัฒนาการละครไทยในสมัยต่างๆ ละครไทย ละครสากล ละครสร้างสรรค์ ม.4-6
 
ยาสีฟันสมุนไพรสูตรโบราณ
ยาสีฟันสมุนไพรสูตรโบราณยาสีฟันสมุนไพรสูตรโบราณ
ยาสีฟันสมุนไพรสูตรโบราณ
 
เอกสารประกอบการเรียน วิชานาฏศิลป์ การประดิษฐ์ท่ารำ รำคุ่ รำหมู่
เอกสารประกอบการเรียน  วิชานาฏศิลป์  การประดิษฐ์ท่ารำ  รำคุ่  รำหมู่เอกสารประกอบการเรียน  วิชานาฏศิลป์  การประดิษฐ์ท่ารำ  รำคุ่  รำหมู่
เอกสารประกอบการเรียน วิชานาฏศิลป์ การประดิษฐ์ท่ารำ รำคุ่ รำหมู่
 
แบบฝึก แฟกทอเรียล N
แบบฝึก แฟกทอเรียล Nแบบฝึก แฟกทอเรียล N
แบบฝึก แฟกทอเรียล N
 
8. ชุดที่ 5 การลำเลียง
8. ชุดที่ 5 การลำเลียง8. ชุดที่ 5 การลำเลียง
8. ชุดที่ 5 การลำเลียง
 
ผลต่าง
ผลต่างผลต่าง
ผลต่าง
 
กิตติกรรมประกาศ
กิตติกรรมประกาศกิตติกรรมประกาศ
กิตติกรรมประกาศ
 
คำนำ
คำนำคำนำ
คำนำ
 
ชุดการสอนประกอบการเรียนรู้ เรื่อง การอนุรักษ์นาฏศิลป์และภูมิปัญญาท้องถิ่น
ชุดการสอนประกอบการเรียนรู้ เรื่อง การอนุรักษ์นาฏศิลป์และภูมิปัญญาท้องถิ่นชุดการสอนประกอบการเรียนรู้ เรื่อง การอนุรักษ์นาฏศิลป์และภูมิปัญญาท้องถิ่น
ชุดการสอนประกอบการเรียนรู้ เรื่อง การอนุรักษ์นาฏศิลป์และภูมิปัญญาท้องถิ่น
 
ครูเย็นจิตร บุญศรี เอกสารประกอบการเรียนเรื่อง ประวัติบุคคลสำคัญในนาฏศิลป์และก...
ครูเย็นจิตร บุญศรี เอกสารประกอบการเรียนเรื่อง ประวัติบุคคลสำคัญในนาฏศิลป์และก...ครูเย็นจิตร บุญศรี เอกสารประกอบการเรียนเรื่อง ประวัติบุคคลสำคัญในนาฏศิลป์และก...
ครูเย็นจิตร บุญศรี เอกสารประกอบการเรียนเรื่อง ประวัติบุคคลสำคัญในนาฏศิลป์และก...
 
ตัวอย่าง ปกรายงาน
ตัวอย่าง ปกรายงานตัวอย่าง ปกรายงาน
ตัวอย่าง ปกรายงาน
 
การวัดผลและประเมินผลการเรียนรู้
การวัดผลและประเมินผลการเรียนรู้การวัดผลและประเมินผลการเรียนรู้
การวัดผลและประเมินผลการเรียนรู้
 
การเรียนการสอนแบบเกม (1)
การเรียนการสอนแบบเกม (1)การเรียนการสอนแบบเกม (1)
การเรียนการสอนแบบเกม (1)
 

Similaire à Graph shortest

โครงสร้างข้อมูลแบบ กราฟ (Graph)
โครงสร้างข้อมูลแบบ กราฟ (Graph)โครงสร้างข้อมูลแบบ กราฟ (Graph)
โครงสร้างข้อมูลแบบ กราฟ (Graph)tumetr
 
ความสัมพันธ์และฟังก์ชัน
ความสัมพันธ์และฟังก์ชันความสัมพันธ์และฟังก์ชัน
ความสัมพันธ์และฟังก์ชันJiraprapa Suwannajak
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1Little Tukta Lita
 
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงNaphamas
 
2การแสดงผลและการรับข้อมูล
2การแสดงผลและการรับข้อมูล2การแสดงผลและการรับข้อมูล
2การแสดงผลและการรับข้อมูลteedee111
 

Similaire à Graph shortest (20)

Graph
GraphGraph
Graph
 
โครงสร้างข้อมูลแบบ กราฟ (Graph)
โครงสร้างข้อมูลแบบ กราฟ (Graph)โครงสร้างข้อมูลแบบ กราฟ (Graph)
โครงสร้างข้อมูลแบบ กราฟ (Graph)
 
Graph
GraphGraph
Graph
 
ฟังก์ชัน
ฟังก์ชันฟังก์ชัน
ฟังก์ชัน
 
Graph
GraphGraph
Graph
 
ความสัมพันธ์และฟังก์ชัน
ความสัมพันธ์และฟังก์ชันความสัมพันธ์และฟังก์ชัน
ความสัมพันธ์และฟังก์ชัน
 
Graph theory
Graph theoryGraph theory
Graph theory
 
Chapter6
Chapter6Chapter6
Chapter6
 
Chapter6
Chapter6Chapter6
Chapter6
 
Chapter6
Chapter6Chapter6
Chapter6
 
Chapter 02 Flowchart
Chapter 02 FlowchartChapter 02 Flowchart
Chapter 02 Flowchart
 
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
 
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
 
Graph
GraphGraph
Graph
 
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
 
New presentation1
New presentation1New presentation1
New presentation1
 
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
 
2การแสดงผลและการรับข้อมูล
2การแสดงผลและการรับข้อมูล2การแสดงผลและการรับข้อมูล
2การแสดงผลและการรับข้อมูล
 
Graph1
Graph1Graph1
Graph1
 

Plus de Noppakhun Suebloei

ระบบลงทะเบียนชุมชุม
ระบบลงทะเบียนชุมชุมระบบลงทะเบียนชุมชุม
ระบบลงทะเบียนชุมชุมNoppakhun Suebloei
 
สื่อการสอน คอมพิวเตอร์เบื้องต้น
สื่อการสอน คอมพิวเตอร์เบื้องต้นสื่อการสอน คอมพิวเตอร์เบื้องต้น
สื่อการสอน คอมพิวเตอร์เบื้องต้นNoppakhun Suebloei
 
การวิเคราะห์องค์ความรู้
การวิเคราะห์องค์ความรู้การวิเคราะห์องค์ความรู้
การวิเคราะห์องค์ความรู้Noppakhun Suebloei
 
รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง โครงสร้างข้อมูลแบ...
รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง โครงสร้างข้อมูลแบ...รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง โครงสร้างข้อมูลแบ...
รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง โครงสร้างข้อมูลแบ...Noppakhun Suebloei
 
รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง ส่วนประกอบของคอมพ...
รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง ส่วนประกอบของคอมพ...รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง ส่วนประกอบของคอมพ...
รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง ส่วนประกอบของคอมพ...Noppakhun Suebloei
 
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง โครงสร้างข้อมูลแบบกราฟ วิชา คอมพิวเต...
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง โครงสร้างข้อมูลแบบกราฟ วิชา คอมพิวเต...การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง โครงสร้างข้อมูลแบบกราฟ วิชา คอมพิวเต...
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง โครงสร้างข้อมูลแบบกราฟ วิชา คอมพิวเต...Noppakhun Suebloei
 
การพัฒนาโปรแกรมบทเรียน เรื่อง ส่วนประกอบของคอมพิวเตอร์ วิชา เทคโนโลยีสารสนเท...
การพัฒนาโปรแกรมบทเรียน เรื่อง ส่วนประกอบของคอมพิวเตอร์  วิชา เทคโนโลยีสารสนเท...การพัฒนาโปรแกรมบทเรียน เรื่อง ส่วนประกอบของคอมพิวเตอร์  วิชา เทคโนโลยีสารสนเท...
การพัฒนาโปรแกรมบทเรียน เรื่อง ส่วนประกอบของคอมพิวเตอร์ วิชา เทคโนโลยีสารสนเท...Noppakhun Suebloei
 
ปฏิทินการปฏิบัติกิจกรรมการนำองค์ความรู้ไปใช้บริการสังคม
ปฏิทินการปฏิบัติกิจกรรมการนำองค์ความรู้ไปใช้บริการสังคมปฏิทินการปฏิบัติกิจกรรมการนำองค์ความรู้ไปใช้บริการสังคม
ปฏิทินการปฏิบัติกิจกรรมการนำองค์ความรู้ไปใช้บริการสังคมNoppakhun Suebloei
 
คำอธิบายรายวิชาIS3
คำอธิบายรายวิชาIS3คำอธิบายรายวิชาIS3
คำอธิบายรายวิชาIS3Noppakhun Suebloei
 

Plus de Noppakhun Suebloei (16)

ระบบลงทะเบียนชุมชุม
ระบบลงทะเบียนชุมชุมระบบลงทะเบียนชุมชุม
ระบบลงทะเบียนชุมชุม
 
สื่อการสอน คอมพิวเตอร์เบื้องต้น
สื่อการสอน คอมพิวเตอร์เบื้องต้นสื่อการสอน คอมพิวเตอร์เบื้องต้น
สื่อการสอน คอมพิวเตอร์เบื้องต้น
 
การวิเคราะห์องค์ความรู้
การวิเคราะห์องค์ความรู้การวิเคราะห์องค์ความรู้
การวิเคราะห์องค์ความรู้
 
รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง โครงสร้างข้อมูลแบ...
รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง โครงสร้างข้อมูลแบ...รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง โครงสร้างข้อมูลแบ...
รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง โครงสร้างข้อมูลแบ...
 
รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง ส่วนประกอบของคอมพ...
รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง ส่วนประกอบของคอมพ...รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง ส่วนประกอบของคอมพ...
รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง ส่วนประกอบของคอมพ...
 
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง โครงสร้างข้อมูลแบบกราฟ วิชา คอมพิวเต...
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง โครงสร้างข้อมูลแบบกราฟ วิชา คอมพิวเต...การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง โครงสร้างข้อมูลแบบกราฟ วิชา คอมพิวเต...
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง โครงสร้างข้อมูลแบบกราฟ วิชา คอมพิวเต...
 
การพัฒนาโปรแกรมบทเรียน เรื่อง ส่วนประกอบของคอมพิวเตอร์ วิชา เทคโนโลยีสารสนเท...
การพัฒนาโปรแกรมบทเรียน เรื่อง ส่วนประกอบของคอมพิวเตอร์  วิชา เทคโนโลยีสารสนเท...การพัฒนาโปรแกรมบทเรียน เรื่อง ส่วนประกอบของคอมพิวเตอร์  วิชา เทคโนโลยีสารสนเท...
การพัฒนาโปรแกรมบทเรียน เรื่อง ส่วนประกอบของคอมพิวเตอร์ วิชา เทคโนโลยีสารสนเท...
 
Test sort
Test sortTest sort
Test sort
 
Sort
SortSort
Sort
 
ปฏิทินการปฏิบัติกิจกรรมการนำองค์ความรู้ไปใช้บริการสังคม
ปฏิทินการปฏิบัติกิจกรรมการนำองค์ความรู้ไปใช้บริการสังคมปฏิทินการปฏิบัติกิจกรรมการนำองค์ความรู้ไปใช้บริการสังคม
ปฏิทินการปฏิบัติกิจกรรมการนำองค์ความรู้ไปใช้บริการสังคม
 
กิจกรรม Is3
กิจกรรม Is3กิจกรรม Is3
กิจกรรม Is3
 
ใบงานที่ 1
ใบงานที่ 1ใบงานที่ 1
ใบงานที่ 1
 
คำอธิบายรายวิชาIS3
คำอธิบายรายวิชาIS3คำอธิบายรายวิชาIS3
คำอธิบายรายวิชาIS3
 
IS3
IS3IS3
IS3
 
ActivityIS3
ActivityIS3ActivityIS3
ActivityIS3
 
Graph
GraphGraph
Graph
 

Graph shortest