กราฟ (Graph)
นิยามกราฟ
• กราฟ เป็นโครงสร้างที่นำามาใช้เพื่อแสดงความ
สัมพันธ์ระหว่างวัตถุ โดยแทนวัตถุด้วยเวอร์
เท็กซ์ และเชื่อมโยงความสั...
องค์ประกอบโครงสร้าง
ข้อมูลแบบกราฟ
V = {1, 2, 3, 4}
E = {(1,2), (1,4), (2,3),
(3,4)}
ตัวอย่าง
A
C D E
B
เวอร์เท็กซ์ V(G) ได้แก่ A
B C D E
เอดจ์ E(G) ได้แก่
เส้นที่เชื่อมโยงจาก A ไป
B
เส้นที่เชื่อมโยงจาก A ไป...
7.1.2 ชนิดของกราฟ
1) กราฟแบบไม่มีทิศทาง (Undirected
Graph) จะเป็นกราฟที่มีเส้นเชื่อมโยงระหว่าง
เวอร์เทกซ์ทั้ง 2 ซึ่งไม่มีท...
กราฟแบบไม่มี
ทิศทาง
V(G) = {a, b, c, d}
E(G) = {(a,b) , (b,c), (c,d), (d,b), (a,c)}
หรือ
E(G) = {(b,a) , (c,b), (d,c), (b,...
ภาพตัวอย่างกราฟไม่มี
ทิศทาง
V(G) = {1, 2, 3, 4, 5}
E(G) = {(1,2) , (2,4), (4,5), (5,3), (3,4), (2,3)}
ภาพตัวอย่างกราฟไม่มีทิศทาง
กราฟที่มีทิศทาง (Digraph)
• กราฟแบบมีทิศทาง = กราฟที่มีเอดจ์
เป็นหัวลูกศร ซึ่งแสดงทิศทางจากเวอร์เท็กซ์
หนึ่ง ไปยังอีกเวอร์...
กราฟแบบมีทิศทาง
V(G) = {a, b, c, d}
E(G) = {<a,b> , <a,c>, <b,d>, <d,c>, <c,b>}
ภาพตัวอย่างกราฟแบบมีทิศทาง
ภาพตัวอย่างกราฟแบบมีทิศทาง
ระดับขั้นเข้าและระดับขั้นออก
ระดับขั้นเข้า (In-degree) คือ จำานวนของ
เอดจ์ที่เข้าไปยังเวอร์เทกซ์นั้น ๆ
ระดับขั้นออก(Out-de...
กราฟสมบูรณ์
• กราฟที่ทุกเวอร์เท็กซ์มีเอดจ์เชื่อมโยงไปยัง
เวอร์เท็กซ์ที่เหลือทั้งหมด
A
CB
ในกราฟสมบูรณ์สามารถคำานวณจำา
นวนเ...
สูตรหาจำานวนเอดจ์ของกราฟไม่มีทิศทาง =
(N * (N – 1)) / 2
กราฟแบบไม่มีทิศทาง และจำานวนเวอร์เทกซ์ที่มีทั้งหมด
เท่ากับ 4 เวอร์...
สูตรหาจำานวนเอดจ์ของกราฟมีทิศทาง
= N * (N –1)
จากภาพที่ (ข) ซึ่งเป็นกราฟแบบมีทิศทาง และ
จำานวนเวอร์เทกซ์ที่มีทั้งหมดเท่ากั...
กราฟที่มีนำ้าหนัก (Weighted
Graphs)
• กราฟที่แต่ละเอดจ์จะมีค่าบ่งบอกถึงความ
หมายอย่างใดอย่างหนึ่ง เช่น ระยะทาง
ความเร็ว เว...
กราฟที่มีนำ้าหนัก
แบบฝึกหัด
• 1. จากภาพต่อไปนี้ จงแทนกราฟด้วย
อะเรย์สองมิติ
1 2
4 3
2. กราฟสมบูรณ์แบบไม่มีทิศทาง ประกอบด้วยเวอร์เทกซ์
ทั้งหม...
เส้นทาง (Path) ของกราฟ คือ ลำาดับ
ของเวอร์เทกซ์ที่ถูกเชื่อมต่อด้วยเอดจ์ โดยเริ่ม
ตั้งแต่เวอร์เทกซ์แรกไปจนถึงเวอร์เทกซ์สุดท...
การแทนกราฟด้วยอะเรย์สอง
มิติ
A
B
C
D
0 1 1 1
1 0 0 1
1 0 0 1
1 1 1 0
A B C D
A
B
C
D
การแทนที่กราฟ
การแทนที่กราฟ
การแทนที่กราฟ
การท่องไปในกราฟ (Graph
traversal)
• การท่องไปในกราฟ (graph
traversal) คือ กระบวนการเข้าไปเยือน
โหนดในกราฟ โดยมีหลักในการทำ...
สำาหรับเทคนิคการท่องไปใน
กราฟมี 2 แบบดังนี้
• การท่องแบบกว้าง (Breadth first
traversal) วิธีนี้ทำาโดยเลือกโหนดที่เป็นจุด
เ...
การท่องไปในกราฟแนวกว้าง
การท่องไปแนวกว้าง =G B H E C F DA
การท่องแบบลึก (Depth first
traversal)
• การทำางานคล้ายกับการท่องทีละระดับของทรี
โดยกำาหนดเริ่มต้นที่โหนดแรกและเยือน
โหนดถั...
การท่องไปในกราฟแนวลึก
การท่องไปแนวลึก = A B C D E F G H
• Spanning Tree คือต้นไม้ที่ประกอบด้วย
โหนดทุกโหนดของกราฟ โดยแต่ละคู่ของ
โหนดจะต้องมีเส้นเชื่อมเพียงเส้นเดียว นั่น
คือไม่ม...
MST หมายถึงเวทจ์กราฟและเป็นสแปนนิ่งทรี
ที่มีค่านำ้าหนักรวมกันแล้วมีค่าน้อยที่สุด
0
2
1
7
3
45
6
.
29
.
51
.
60
.31
.
32
.
...
0
2
1
7
3
45
6
.29
.51
.60
.31
.32
.21
.25
.46
.51
.40
.34
.18
Minimum spanning tree
• Representation
0 1 2 3 4 5 6 7
0 * ...
วิธีการในการหา Minimum
Spanning Tree ที่นิยมใช้
มี 3 วิธี ดังต่อไปนี้
1.Kruskal’s Algorithm
Kruskal’s Algorithm ค้นพบโดย J...
• เรียงลำาดับ weight
จากน้อยไปมาก
3-5 = .18
1-7 = .21
6-7 = .25
0-2 = .29
0-7 = .31
0-1 = .32
4.3 = .34
4-5 = .40
4-7 = .4...
2.Prim’s algorithm
• หลักการของ Prim’s Algorithm เริ่มต้น
จากเวอร์เท็กซ์ที่กำาหนดแล้วหาเวอร์เท็กซ์ข้าง
เคียง เรียงตามค่านำ...
Prim’s algorithm
- เลือก 1 จุด
- เลือก edge สั้นสุดที่ต่อกับ
ที่ได้เลือกไว้
- รวม edge นี้ถ้าไม่เกิด
วงจร A
B C D
E F
1
7
...
3 Dijkstra’s algorithm
• วิธีการของ Dijkstra จะทำาให้ได้สิ่งที่เรียก
ว่า single-source shortest path หรือเส้น
ทางที่สั้นที...
Dijkstra’s algorithm
• single-source
shortest
path
A
B C D
E F
1
7
14
713
3 6
1
8 AB14 AC8 AD1
AD1 AC8 AB14
AD1 DE7 AC8
DE...
แบบฝึกหัด
• 1. จากภาพต่อไปนี้ จงแทนกราฟด้วย
อะเรย์สองมิติ
1 2
4 3
2. กราฟสมบูรณ์แบบไม่มีทิศทาง ประกอบด้วยเวอร์เทกซ์
ทั้งหม...
4. จากกราฟต่อไปนี้ จงท่องไปในแนว
ลึก และ แนวกว้าง โดยมีจุดเริ่มต้นที่
เวอร์เทกซ์ B
A
B
D
E
C
F
G
5. จากภาพต่อไปนี้ จงหาระยะทางโดยใช้
วิธีการของ Kruskal Prim และ Dijkstra
โดยเริ่มที่จุด B
A B
D
E
C
F G
2
4
10
7
12
2
1
5
...
Graph
Graph
Graph
Graph
Upcoming SlideShare
Loading in …5
×

Graph

502 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
502
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Graph

  1. 1. กราฟ (Graph)
  2. 2. นิยามกราฟ • กราฟ เป็นโครงสร้างที่นำามาใช้เพื่อแสดงความ สัมพันธ์ระหว่างวัตถุ โดยแทนวัตถุด้วยเวอร์ เท็กซ์ และเชื่อมโยงความสัมพันธ์ด้วยเอดจ์ • เขียนในรูปของสัญลักษณ์ได้เป็น G = (V,E) • ซึ่ง V(G) คือ เซตของเวอร์เทกซ์ที่ไม่ใช่เซ็ต ว่าง และมีจำานวนจำากัด • E(G) คือ เซตของเอดจ์ ซึ่งเขียนด้วยคู่ของเวอร์ เท็กซ์ A B เวอร์เท็กซ์ เวอร์ เท็กซ์ เอดจ์
  3. 3. องค์ประกอบโครงสร้าง ข้อมูลแบบกราฟ V = {1, 2, 3, 4} E = {(1,2), (1,4), (2,3), (3,4)}
  4. 4. ตัวอย่าง A C D E B เวอร์เท็กซ์ V(G) ได้แก่ A B C D E เอดจ์ E(G) ได้แก่ เส้นที่เชื่อมโยงจาก A ไป B เส้นที่เชื่อมโยงจาก A ไป C เส้นที่เชื่อมโยงจาก A ไป D เส้นที่เชื่อมโยงจาก A ไป E
  5. 5. 7.1.2 ชนิดของกราฟ 1) กราฟแบบไม่มีทิศทาง (Undirected Graph) จะเป็นกราฟที่มีเส้นเชื่อมโยงระหว่าง เวอร์เทกซ์ทั้ง 2 ซึ่งไม่มีทิศทางว่าเริ่มต้นจาก เวอร์เทกซ์ใดไปยังเวอร์เทกซ์ใด การเขียนเซต ของเส้นเชื่อมโยงจะเขียนอยู่ในเครื่องหมาย วงเล็บ
  6. 6. กราฟแบบไม่มี ทิศทาง V(G) = {a, b, c, d} E(G) = {(a,b) , (b,c), (c,d), (d,b), (a,c)} หรือ E(G) = {(b,a) , (c,b), (d,c), (b,d), (c,a)}
  7. 7. ภาพตัวอย่างกราฟไม่มี ทิศทาง V(G) = {1, 2, 3, 4, 5} E(G) = {(1,2) , (2,4), (4,5), (5,3), (3,4), (2,3)}
  8. 8. ภาพตัวอย่างกราฟไม่มีทิศทาง
  9. 9. กราฟที่มีทิศทาง (Digraph) • กราฟแบบมีทิศทาง = กราฟที่มีเอดจ์ เป็นหัวลูกศร ซึ่งแสดงทิศทางจากเวอร์เท็กซ์ หนึ่ง ไปยังอีกเวอร์เท็กซ์หนึ่ง (Directed Graph) A B กรุงเท พ เวียงจั นทน์ จากภาพ มีเส้นทางจากกรุงเทพไปเวียงจันทน์ แต่ ไม่มีเส้นทางจากเวียงจันทน์ไปกรุงเทพ
  10. 10. กราฟแบบมีทิศทาง V(G) = {a, b, c, d} E(G) = {<a,b> , <a,c>, <b,d>, <d,c>, <c,b>}
  11. 11. ภาพตัวอย่างกราฟแบบมีทิศทาง
  12. 12. ภาพตัวอย่างกราฟแบบมีทิศทาง
  13. 13. ระดับขั้นเข้าและระดับขั้นออก ระดับขั้นเข้า (In-degree) คือ จำานวนของ เอดจ์ที่เข้าไปยังเวอร์เทกซ์นั้น ๆ ระดับขั้นออก(Out-degree) คือ จำานวนของ เอดจ์ที่ออกจากเวอร์เทกซ์นั้น ๆ
  14. 14. กราฟสมบูรณ์ • กราฟที่ทุกเวอร์เท็กซ์มีเอดจ์เชื่อมโยงไปยัง เวอร์เท็กซ์ที่เหลือทั้งหมด A CB ในกราฟสมบูรณ์สามารถคำานวณจำา นวนเอดจ์ได้จาก N*(N-1)/2
  15. 15. สูตรหาจำานวนเอดจ์ของกราฟไม่มีทิศทาง = (N * (N – 1)) / 2 กราฟแบบไม่มีทิศทาง และจำานวนเวอร์เทกซ์ที่มีทั้งหมด เท่ากับ 4 เวอร์เทกซ์ จึงคำานวณหาจำานวนเอดจ์ได้ ดังนี้ สูตรหาจำานวนเอดจ์ของกราฟไม่มีทิศทาง = (N * (N – 1)) / 2 = (4 * (4 – 1)) / 2 = (4 * 3 ) / 2 = 12 / 2 = 6 เส้น
  16. 16. สูตรหาจำานวนเอดจ์ของกราฟมีทิศทาง = N * (N –1) จากภาพที่ (ข) ซึ่งเป็นกราฟแบบมีทิศทาง และ จำานวนเวอร์เทกซ์ที่มีทั้งหมดเท่ากับ 4 เวอร์ เทกซ์ จึงคำานวณหาจำานวนเอดจ์ได้ดังนี้ สูตรหาจำานวนเอดจ์ของกราฟมีทิศทาง = N * (N –1) = 4 * ( 4 – 1) = 4 * 3 = 12 เส้น
  17. 17. กราฟที่มีนำ้าหนัก (Weighted Graphs) • กราฟที่แต่ละเอดจ์จะมีค่าบ่งบอกถึงความ หมายอย่างใดอย่างหนึ่ง เช่น ระยะทาง ความเร็ว เวลาเดินทาง ค่าโดยสาร เป็นต้น ปทุมธ านี สระบุ รี กรุงเท พ ฉะเชิ งเทรา นครน ายก ปราจี นบุรี 10 1 4 6 10 1 10 7 8 2 7 6 10 0 2 9 5 8
  18. 18. กราฟที่มีนำ้าหนัก
  19. 19. แบบฝึกหัด • 1. จากภาพต่อไปนี้ จงแทนกราฟด้วย อะเรย์สองมิติ 1 2 4 3 2. กราฟสมบูรณ์แบบไม่มีทิศทาง ประกอบด้วยเวอร์เทกซ์ ทั้งหมด 7 เวอร์เทกซ์ จงคำานวณว่ากราฟนี้จะมีกี่ เอดจ์ 3. กราฟสมบูรณ์แบบมีทิศทาง ประกอบด้วยเวอร์เทกซ์ ทั้งหมด 8 เวอร์เทกซ์ จงคำานวณว่ากราฟนี้จะมี
  20. 20. เส้นทาง (Path) ของกราฟ คือ ลำาดับ ของเวอร์เทกซ์ที่ถูกเชื่อมต่อด้วยเอดจ์ โดยเริ่ม ตั้งแต่เวอร์เทกซ์แรกไปจนถึงเวอร์เทกซ์สุดท้าย หรือเวอร์เทกซ์ที่ต้องการ เส้นทางจาก A ไป E P1 = (A, B, C, D, E) ความยาวของเส้นทาง เท่ากับ 4 เส้นทางจาก A ไป H
  21. 21. การแทนกราฟด้วยอะเรย์สอง มิติ A B C D 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 A B C D A B C D
  22. 22. การแทนที่กราฟ
  23. 23. การแทนที่กราฟ
  24. 24. การแทนที่กราฟ
  25. 25. การท่องไปในกราฟ (Graph traversal) • การท่องไปในกราฟ (graph traversal) คือ กระบวนการเข้าไปเยือน โหนดในกราฟ โดยมีหลักในการทำางานคือ แต่ละโหนดจะถูกเยือนเพียงครั้งเดียว สำาหรับการท่องไปในทรีเพื่อเยือนแต่ละโหนด นั้นจะมีเส้นทางเดียว แต่ในกราฟระหว่างโหนด อาจจะมีหลายเส้นทาง ดังนั้นเพื่อป้องกัน การท่องไปในเส้นทางที่ซำ้าเดิมจึงจำาเป็น ต้องทำาเครื่องหมายมาร์คบิตบริเวณที่ได้ เยือนเสร็จเรียบร้อยแล้วเพื่อไม่ให้เข้าไป
  26. 26. สำาหรับเทคนิคการท่องไปใน กราฟมี 2 แบบดังนี้ • การท่องแบบกว้าง (Breadth first traversal) วิธีนี้ทำาโดยเลือกโหนดที่เป็นจุด เริ่มต้น ต่อมาให้เยือนโหนดอื่นที่ใกล้กันกับ โหนดเริ่มต้นทีละระดับ จนกระทั่งเยือนหมดทุก โหนดในกราฟ ตัวอย่างแสดงเส้นทางการท่อง แบบกว้างทีละโหนดตามลำาดับ B A C E D F การท่องไปแนวกว้างB C D E FA
  27. 27. การท่องไปในกราฟแนวกว้าง การท่องไปแนวกว้าง =G B H E C F DA
  28. 28. การท่องแบบลึก (Depth first traversal) • การทำางานคล้ายกับการท่องทีละระดับของทรี โดยกำาหนดเริ่มต้นที่โหนดแรกและเยือน โหนดถัดไปตามแนววิถีนั้นจนกระทั่งนำา ไปสู่ปลายวิถีนั้น จากนั้น ย้อนกลับ (backtrack) ตามแนววิถีเดิมนั้น จนกระทั่ง สามารถดำาเนินการต่อเนื่องเข้าสู่แนววิถีอื่น ๆ เพื่อเยือนโหนดอื่น ๆ ต่อไปจนครบทุกโหนด B A C E D F A B E C F D
  29. 29. การท่องไปในกราฟแนวลึก
  30. 30. การท่องไปแนวลึก = A B C D E F G H
  31. 31. • Spanning Tree คือต้นไม้ที่ประกอบด้วย โหนดทุกโหนดของกราฟ โดยแต่ละคู่ของ โหนดจะต้องมีเส้นเชื่อมเพียงเส้นเดียว นั่น คือไม่มี loop หรือ cycle • สมมติสถานการณ์ให้กราฟแสดงเส้นทางการบิน ระหว่าง 7 เมือง แต่ด้วยเหตุผลทางธุรกิจทำาให้ ต้องปิดเส้นทางการบินไปให้มากที่สุดแต่ยังคง สามารถเชื่อมต่อถึงกันได้หมดa b c d e f g a b c d e f g a b c d e f g 1. ห้ามมี 2 เส้น 2. ห้ามตัดเส้น ออก 3. ห้ามมี cycle
  32. 32. MST หมายถึงเวทจ์กราฟและเป็นสแปนนิ่งทรี ที่มีค่านำ้าหนักรวมกันแล้วมีค่าน้อยที่สุด 0 2 1 7 3 45 6 . 29 . 51 . 60 .31 . 32 . 21 . 25 .46 . 51 .40 . 34 .18 0 2 1 7 3 45 6 . 29 . 51 . 60 . 31 . 32 . 21 . 25 .46 . 51 .40 . 34 .18 Minimum spanning tree
  33. 33. 0 2 1 7 3 45 6 .29 .51 .60 .31 .32 .21 .25 .46 .51 .40 .34 .18 Minimum spanning tree • Representation 0 1 2 3 4 5 6 7 0 * .32 .29 * * .60 .51 .31 1 2 3 4 5 6 7 .32 * * * * * * .21 .29 * * * * * * * * * * * .34 .18 * * * * * .34 * .40 .51 .46 .60 * * .18 .40 * * * .51 * * * .51 * * .25 .31 .21 * * .46 * .25 *
  34. 34. วิธีการในการหา Minimum Spanning Tree ที่นิยมใช้ มี 3 วิธี ดังต่อไปนี้ 1.Kruskal’s Algorithm Kruskal’s Algorithm ค้นพบโดย Joseph Kruskal ในปี 1956  โดยมีหลักการดังต่อไปนี้ 1. เลือก Edge ใน Graph ที่มี Weight ตำ่าสุด เป็น edge เริ่มต้น 2. จากนั้นให้เพิ่ม Edge ที่มี Weight ตำ่าสุดที่เหลือ อยู่ ที่จะไม่ทำาให้เกิด Simple Circuit กับ Edge ที่เลือกไว้แล้ว ทำาการหยุดหลังจากได้ n-1  Edge เลือกได้ n-1 edges เลือก edge ที่สั้นที่สุด รวม edge นี้ ถ้าไม่เกิดวงจร เลือกได้ n-1 edges
  35. 35. • เรียงลำาดับ weight จากน้อยไปมาก 3-5 = .18 1-7 = .21 6-7 = .25 0-2 = .29 0-7 = .31 0-1 = .32 4.3 = .34 4-5 = .40 4-7 = .46 0-6 = .51 4-6 = .51 0-5 = .60 Kruskal’s Algorithm 0 2 1 7 3 45 6 .29 .51 .60 .31 .32 .21 .25 .46 .51 .40 .34 .18 เกิดวงจร เกิดวงจร       
  36. 36. 2.Prim’s algorithm • หลักการของ Prim’s Algorithm เริ่มต้น จากเวอร์เท็กซ์ที่กำาหนดแล้วหาเวอร์เท็กซ์ข้าง เคียง เรียงตามค่านำ้าหนักของเอดจ์ มีขั้นตอน ดังนี้ • 1. เลือก 1 จุด • 2. เลือก edge สั้นสุดที่ต่อกับที่ได้ เลือกไว้ • 3. รวม edge นี้ถ้าไม่เกิดวงจร
  37. 37. Prim’s algorithm - เลือก 1 จุด - เลือก edge สั้นสุดที่ต่อกับ ที่ได้เลือกไว้ - รวม edge นี้ถ้าไม่เกิด วงจร A B C D E F 1 7 14 713 3 6 1 A B C D E F 1 7 14 713 3 6 1 8 8
  38. 38. 3 Dijkstra’s algorithm • วิธีการของ Dijkstra จะทำาให้ได้สิ่งที่เรียก ว่า single-source shortest path หรือเส้น ทางที่สั้นที่สุดจากจุดเดียว โดยใช้ priority queue ช่วยในการทำางาน มีขั้นตอนดังนี้ 1. เลือกจุดเริ่มต้น 2. ตรวจสอบค่านำ้าหนักกับจุดที่เชื่อมต่อทุกจุด นำา ค่านำ้าหนักเก็บใน priority queue แล้วเลือก เส้นที่มีค่าตำ่าสุด 3. เยี่ยมจุดที่เลือกใหม่ แล้วทำาซำ้า 2-3 จนกว่าจะ เยี่ยมครบทุกจุด ข้อกำาหนด : การนำาข้อมูลเก็บในคิว เป็นไป
  39. 39. Dijkstra’s algorithm • single-source shortest path A B C D E F 1 7 14 713 3 6 1 8 AB14 AC8 AD1 AD1 AC8 AB14 AD1 DE7 AC8 DE7 AC8 DC8 DF8 AB14 DC8 DE7 DF8 AC8 DC8 DF8 EF8 EC10 AB14 EF8 EC10 DC8 DF8 EF8 EC10 AB14 CB21 CB21 A B C D E F 1 7 14 713 3 6 1 8 DC8 DF8 EF8 EC10 AB14 CB21 1 2 3 4
  40. 40. แบบฝึกหัด • 1. จากภาพต่อไปนี้ จงแทนกราฟด้วย อะเรย์สองมิติ 1 2 4 3 2. กราฟสมบูรณ์แบบไม่มีทิศทาง ประกอบด้วยเวอร์เทกซ์ ทั้งหมด 7 เวอร์เทกซ์ จงคำานวณว่ากราฟนี้จะมีกี่ เอดจ์ 3. กราฟสมบูรณ์แบบมีทิศทาง ประกอบด้วยเวอร์เทกซ์ ทั้งหมด 8 เวอร์เทกซ์ จงคำานวณว่ากราฟนี้จะมี
  41. 41. 4. จากกราฟต่อไปนี้ จงท่องไปในแนว ลึก และ แนวกว้าง โดยมีจุดเริ่มต้นที่ เวอร์เทกซ์ B A B D E C F G
  42. 42. 5. จากภาพต่อไปนี้ จงหาระยะทางโดยใช้ วิธีการของ Kruskal Prim และ Dijkstra โดยเริ่มที่จุด B A B D E C F G 2 4 10 7 12 2 1 5 3 6

×