งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

DATA STRUCTURE IN C กราฟ (Graph).

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "DATA STRUCTURE IN C กราฟ (Graph)."— ใบสำเนางานนำเสนอ:

1 DATA STRUCTURE IN C กราฟ (Graph)

2 กราฟ เป็นโครงสร้างข้อมูลแบบไม่เชิงเส้นชนิดหนึ่ง ซึ่งมีลักษณะเป็นโครงสร้างข่ายงาน แบบไม่ตายตัว ที่สามารถแทรกข้อมูลเข้าและข้อมูลออกได้ a b (a) b b b b b (b)

3 1. กราฟไม่ระบุทิศทาง 2. กราฟระบุทิศทาง
กราฟแบ่งออกเป็น 2 ชนิด 1. กราฟไม่ระบุทิศทาง 2. กราฟระบุทิศทาง 1. กราฟไม่ระบุทิศทาง ประกอบด้วยบัพและเส้นเชื่อมที่ไม่ระบุทิศทาง ของความสัมพันธ์ ไปทางใดทางหนึ่ง กราฟไม่ระบุทิศทางมีหลายประเภท คือ กราฟเชื่อมต่อ กราฟไม่เชื่อมต่อ กราฟไม่มีวง กราฟรูปต้นไม้ b a a b e d c d c (การเชื่อมต่อ) (การไม่เชื่อมต่อ)

4 2. กราฟระบุทิศทาง มีลักษณะเหมือนกับกราฟไม่ระบุทิศทาง แต่ต่างกันที่เส้นเชื่อมระหว่างบัพ กราฟระบุทิศทางเส้นเชื่อมจะระบุความสัมพันธ์อย่างชัดเจน โดยบัพเริ่มต้นความสัมพันธ์จะเป็นบัพต้นทางและบัพสิ้นสุดความสัมพันธ์จะเป็นบัพปลายทาง a a บัพต้นทาง a b c d b บัพปลายทาง b c e (a) (b) (c)

5 จำนวนเส้นเชื่อมระหว่างบัพที่ประกอบเข้าด้วยกันเป็นแนวเดิน เรียกว่า ความยาวของแนวเดิน ถ้าบัพในแนวเดินไม่ซ้ำกันจะเรียกแนวเดินนั้นว่า วิถี ถ้าบัพเริ่มต้นและบัพสุดท้ายของวิถีใดเป็นบัพเดียวกัน จะเรียกวิถีนั้นว่า วิถีวง และเรียกกราฟที่มีวงว่า กราฟมีวง b c a d f e

6 แสดงวิถีจากบัพ a ไปยัง e ได้ ดังนี้
ลำดับที่ วิถี ความยาวของวิถี 1 a e 2 a d e 3 a b c e 4 a b c d e

7 กราฟไม่ระบุทิศทางและกราฟระบุทิศทางที่กำหนดตัวเลขเพื่อแสดงน้ำหนักหรือระยะทางให้กับเส้นเชื่อมแต่ละเส้น เรียกว่า เวทกราฟ ซึ่งจะมีลักษณะดังนี้ 6 12 19 5 58 65 7 5 6 2 32 26 4 16 22 34 11 13 1 21 44 50 1 2 4 7 7 16 3 (b) (a)

8 การแทนที่กราฟในหน่วยความจำ
1. การแทนที่กราฟด้วยเมทริกซ์ประชิด การแทนด้วยเมทริกซ์ประชิด(adjacency matrix) โดยนำเอาชื่อบัพทั้งหมดในกราฟมากำหนดเป็นชื่อแถวและชื่อสดมภ์ในเมทริกซ์แล้วกำหนดค่าลงในเมทริกซ์ ถ้า G เป็นกราฟที่มีบัพ n บัพ ก็จะได้เมทริกซ์ที่มีขนาด n*n การกำหนดค่าลงในเมทริกซ์มีวิธีการ ดังนี้ ถ้าบัพในแถวใดมีเส้นเชื่อมไปยังบัพในสดมภ์ใด ตรงตำแหน่งนั้นให้มีค่าเป็น 1 ถ้าบัพในแถวใดไม่มีเส้นเชื่อมไปยังบัพในสดมภ์ใด ตำแหน่งนั้นก็ให้มีค่าเป็น 0

9 การแทนกราฟไม่ระบุทิศทางด้วยเมทริกซ์ประชิด
a b c d b 1 a b a c c d d (a) (b) การแทนกราฟไม่ระบุทิศทางด้วยเมทริกซ์ประชิด

10 การแทนกราฟระบุทิศทางด้วยเมทริกซ์ประชิด
a b c d e 1 a b a b c e d e c d (a) (b) การแทนกราฟระบุทิศทางด้วยเมทริกซ์ประชิด

11 2. การแทนที่กราฟด้วยรายการโยง การแทนที่กราฟด้วยเมทริกซ์ต้องใช้เนื้อที่ในหน่วยความจำมากหากกราฟนั้นมีจำนวนบัพมาก แต่ถ้าใช้การแทนที่ด้วยรายการโยง จะช่วยให้การใช้เนื้อที่ในหน่วยความจำลดลง การแทนที่กราฟด้วยรายการโยง แบ่งได้เป็น 4 ประเภท คือ 2.1 การแทนกราฟด้วยรายการประชิด เป็นการแทนที่ที่เหมาะกับกราฟที่มีจำนวนเส้นเชื่อมน้อย ซึ่งถ้าแทนด้วยเมทริกซ์ประชิดจะมีค่าที่เป็นศูนย์มาก การแทนกราฟด้วยรายการประชิดเป็นการแทนโดยนำเอาบัพทุกบัพในกราฟมาเป็นบัพส่วนหัวรายของรายการ ส่วนบัพอื่นๆในแต่ละแถว ถือว่าเป็นบัพข้างเคียงของบัพส่วนหัว

12 การแทนกราฟไม่ระบุทิศทางด้วยรายการประชิด
a b a b b a c d c b d c d d b c (a) (b) การแทนกราฟไม่ระบุทิศทางด้วยรายการประชิด

13 การแทนกราฟระบุทิศทางด้วยรายการประชิด
a c d b b c d a c c e d b e d c d e (a) (b) การแทนกราฟระบุทิศทางด้วยรายการประชิด

14 การแทนกราฟด้วยรายการเชิงตั้งฉาก
2.2 การแทนกราฟด้วยรายการเชิงตั้งฉาก การแทนวิธีนี้นิยมใช้ในกรณีที่กราฟมีจำนวนบัพมากแต่มีเส้นเชื่อมน้อย วิธีนี้จะช่วยให้ประหยัดเนื้อที่ในหน่วยความจำได้มาก b a e d c การแทนกราฟด้วยรายการเชิงตั้งฉาก

15 สำหรับโครงสร้างในการแทนกราฟด้วยรายการเชิงตั้งฉาก แต่ละบัพจะประกอบด้วยเขตข้อมูลดังนี้
โดยที่… tp เป็น ตัวชี้ส่วนท้ายของลูกศรที่เป็นเส้นเชื่อม (tail pointer) hp เป็น ตัวชี้ส่วนหัวของลูกศรที่เป็นเส้นเชื่อม (head pointer) cph เป็น ตัวชี้สดมภ์ซึ่งเป็นส่วนหัวของลูกศร (column pointer for head) เขียนแทนด้วย rpt เป็น ตัวชี้แถวซึ่งเป็นส่วนท้ายของลูกศร (row pointer for tail) เขียนแทนด้วย

16 ขั้นที่ 1 นำบัพที่ประกอบด้วยโครงสร้างของรายการเชิงตั้งฉากทุกบัพในกราฟมาเป็นบัพส่วนหัวในแนวแถวและแนวสดมภ์

17 ขั้นที่ 2 เชื่อมโยงตัวชี้แถวและตัวชี้สดมภ์ของบัพ a

18 ขั้นที่ 3 เชื่อมโยงตัวชี้แถวและตัวชี้สดมภ์ของบัพ b

19 ขั้นที่ 4 เชื่อมโยงตัวชี้แถวและตัวชี้สดมภ์ของบัพ c

20 ขั้นที่ 5 เชื่อมโยงตัวชี้แถวและตัวชี้สดมภ์ของบัพ d

21 ขั้นที่ 6 เชื่อมโยงตัวชี้แถวและตัวชี้สดมภ์ของบัพ e

22 การแทนกราฟด้วย หลายรายการประชิด
2.3 การแทนกราฟด้วยหลายรายการประชิด จะแทนเส้นเชื่อมด้วยโครงสร้างของหลายรายการประชิด เพราะยึดหลักที่ว่าเส้นเชื่อมแต่ละเส้นจะต้องมีบัพที่อยู่ที่ส่วนหัวและบัพที่ส่วนท้ายของเส้นเชื่อมนั้นๆ ดังนั้น บัพแต่ละบัพจึงอาจมองได้ใน 2 ทิศทาง a b d e การแทนกราฟด้วย หลายรายการประชิด

23 สำหรับโครงสร้างในการแทนกราฟด้วยหลายรายการประชิด ประกอบด้วยเขตข้อมูลดังนี้
โดยที่… mb เป็น บิตเครื่องหมาย (mark bit) ที่แสดงการถูกเยี่ยมและไม่ถูก เยี่ยมของเส้นเชื่อม etn เป็น บัพที่ส่วนท้ายของเส้นเชื่อม (edge tail node) ehn เป็น บัพที่ส่วนหัวของเส้นเชื่อม (edge head node) etnp เป็น ตัวชี้บัพส่วนท้ายของเส้นเชื่อม (edge tail node pointer) ehnp เป็น ตัวชี้บัพส่วนหัวของเส้นเชื่อม (edge head node pointer)

24 (a,b) (a,d) (b,d) (c,a) (d,c)
ขั้นที่ 1 นำเส้นเชื่อมที่ประกอบด้วยโครงสร้างของรายการหลายประชิดทุกเส้นมาเก็บเรียงต่อกันโดยมีหมายเลขลำดับกำกับ (a,b) (a,d) (b,d) (c,a) (d,c)

25 1 2 (a,b) 3 2 (a,d) NULL 4 (b,d) 4 NULL (c,a) NULL NULL (d,c)
ขั้นที่ 2 เติมค่าลงในช่องตัวชี้สำหรับบัพที่ส่วนท้ายและบัพที่ส่วนหัวของเส้นเชื่อม โดยพิจารณาว่าลำดับของบัพที่ส่วนท้ายและบัพที่ส่วนหัวของเส้นเชื่อมที่กำลังพิจารณาอยู่ 1 2 (a,b) 3 2 (a,d) NULL 4 (b,d) 4 NULL (c,a) NULL NULL (d,c)

26 จงเติมค่าลงในช่อง etnp และ ehnp
3 2 NULL 2 3 NULL 4 4 NULL NULL

27 การแทนกราฟด้วยสารบบบัพและตารางของเส้นเชื่อมแต่ละเส้นได้ ดังนี้
2.4 การแทนกราฟด้วยสารบบัพ การแทนกราฟด้วยวิธีนี้เหมาะกับกราฟประเภทเวทกราฟที่มีจำนวนเส้นเชื่อมมาก ดังนั้นการแทนจึงใช้สารบบมาช่วยในการแสดงชื่อบัพเพื่อเชื่อมโยงไปยังตารางของเส้นเชื่อมแต่ละเส้น 27 a 12 c 10 15 7 b d 8 การแทนกราฟด้วยสารบบบัพและตารางของเส้นเชื่อมแต่ละเส้นได้ ดังนี้

28 การแทนกราฟด้วยสารบบบัพ
บัพต้นทาง จำนวนเส้นเชื่อม ตัวชี้ไปยังตารางเส้นเชื่อม a 2 b c 1 d บัพปลายทาง น้ำหนัก b 10 12 c 15 d 8 7 a 27 การแทนกราฟด้วยสารบบบัพ

29 การแวะผ่านไปในกราฟ เป็นการเยี่ยมบัพในกราฟทุกบัพๆ ละหนึ่งครั้ง ซึ่งการแวะผ่านจะมีวิธีการเยี่ยมบัพต่างๆหลายวิธีด้วยกัน แต่วิธีที่มีความสำคัญและได้รับความนิยมมากที่สุด คือ การแวะผ่านในแนวกว้าง (breadth-first traversal) การแวะผ่านในแนวลึก (depth-first traversal) และการแวะผ่านตามลำดับความสำคัญ(priority-first traversal)

30 ถ้ากราฟระบุทิศทางประกอบด้วยบัพและเส้นเชื่อม ดังรูป
1. การแวะผ่านในแนวกว้าง เป็นการเยี่ยมบัพไปทีละระดับจากซ้ายไปขวา โดยเริ่มจากบัพรากบัพลูกทางด้านซ้ายสุด บัพลูกระดับถัดไปเรื่อยๆของระดับแรก เมื่อหมดระดับแรก ก็เริ่มไปเยี่ยมบัพลูกทางด้านซ้ายสุดของระดับถัดไปเรื่อยๆจนครบทุกระดับ ถ้ากราฟระบุทิศทางประกอบด้วยบัพและเส้นเชื่อม ดังรูป 1 2 3 4 5 6 7 8 จะสามารถแสดงการแวะผ่านในแนวกว้างได้ ดังนี้

31 ขั้นที่ 1 เยี่ยมบัพเริ่มต้น คือ บัพ 1
2 3 4 5 6 7 8

32 ขั้นที่ 2 เยี่ยมบัพลูกของบัพ 1 จากซ้ายไปขวา คือ บัพ 2 และบัพ 3
เริ่มต้น 1 1 2 2 3 3 4 5 6 7 8

33 ขั้นที่ 3 เยี่ยมบัพลูกของบัพ 2 จากซ้ายไปขวา คือ บัพ 4 และบัพ 5
เริ่มต้น 1 1 2 2 3 3 4 4 5 5 6 7 8

34 ขั้นที่ 4 เยี่ยมบัพลูกของบัพ 3 จากซ้ายไปขวา คือ บัพ 6 และบัพ 7
เริ่มต้น 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8

35 ขั้นที่ 5 เยี่ยมบัพลูกของบัพ 4 ซึ่งบัพลูกของบัพเดียว คือ บัพ 7
เริ่มต้น 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 เมื่อเยี่ยมครบทุกบัพแล้ว จะได้ผลของการแวะผ่านในแนวกว้าง คือ 1 2 3 4 5 6 7 8

36 กราฟระบุทิศทางประกอบด้วยบัพและเส้นเชื่อม ดังรูป
2. การแวะผ่านในแนวลึก เป็นการเยี่ยมบัพลงไปในระดับลึกก่อน โดยเริ่มจากบัพราก บัพลูกทางซ้ายสุดไปเรื่อยๆจนถึงระดับสูงสุด แล้วถอยกลับมาเยี่ยมทีละระดับ กราฟระบุทิศทางประกอบด้วยบัพและเส้นเชื่อม ดังรูป เริ่มต้น 1 1 2 3 4 5 6 7 8 จะสามารถแสดงการแวะผ่านในแนวลึกได้ ดังนี้

37 ขั้นที่ 1 เยี่ยมบัพเริ่มต้น คือ บัพ 1
2 3 4 5 6 7 8

38 ขั้นที่ 2 เยี่ยมบัพลูกทางซ้ายบัพ 1 คือ บัพ 2
เริ่มต้น 1 1 2 2 3 4 5 6 7 8

39 ขั้นที่ 3 เยี่ยมบัพลูกทางซ้ายสุดของบัพ 2 คือบัพ 4
เริ่มต้น 1 1 2 2 3 4 4 5 6 7 8

40 ขั้นที่ 4 เยี่ยมบัพลูกทางซ้ายสุดของบัพ 4 คือบัพ 8
เริ่มต้น 1 1 2 2 3 4 4 5 6 7 8 8

41 ขั้นที่ 5 เยี่ยมบัพลูกของบัพ 8 ไม่มี จึงถอยหลังเยี่ยมบัพลูกถัดไปของบัพ 4 ไม่มี เยี่ยมบัพถัดไปของบัพ 2 คือ 5 เริ่มต้น 1 1 2 2 3 4 4 5 5 6 7 8 8

42 ขั้นที่ 6 เยี่ยมบัพลูกถัดไปของบัพ 2 ไม่มี จึงกลับไปเยี่ยมบัพลูก ถัดไปของบัพราก คือ 3
เริ่มต้น 1 1 2 2 3 3 4 4 5 5 6 7 8 8

43 ขั้นที่ 7 เยี่ยมบัพลูกทางซ้ายสุดของบัพ 3 คือ บัพ 6
เริ่มต้น 1 1 2 2 3 3 4 4 5 5 6 6 7 8 8

44 ขั้นที่ 8 เยี่ยมบัพลูกทางซ้ายสุดของบัพ 6 (เยี่ยมแล้ว) กลับมาเยี่ยมบัพถัดไปของ 6 (ไม่มี) จึงกลับมาเยี่ยมบัพลูกถัดไปของบัพ 3 คือ 7 เริ่มต้น 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8

45 ขั้นที่ 9 เยี่ยมบัพถัดไปของ 7 (มีแล้ว) กลับไปเรื่อย ปรากฏว่าเยี่ยมหมดแล้ว แสดงว่าการแวะผ่านได้สิ้นสุดลงแล้ว บัพ บัพประชิด 1 2,3 2 4,5 4 8 5 3 6.7 6 7 เริ่มต้น 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 ตารางการแวะผ่านที่ได้ คือ 1 2 4 8 5 3 6 7

46 การประยุกต์ใช้กราฟ กราฟ เป็นเครื่องมือที่สำคัญในการแก้ปัญหาให้ลุล่วงไปได้ด้วยดีและมีความรวดเร็ว เช่น การหาระยะทางของเส้นทางที่สั้นที่สั้นที่สุดระหว่างที่หนึ่งไปยังที่อื่นๆ การหาระยะทางของเส้นทางที่สั้นที่สุดระหว่างที่ต่างๆ เป็นคู่ๆ การหาระยะทางของเส้นทางหรือเวลาที่สั้นที่สุดที่เชื่อมทุกๆที่ เป็นต้น การหาระยะทางจะกำหนดให้บัพแทนสถานที่ต่างๆ 1.การหาระยะทางของเส้นที่สั้นที่สุดจากบัพหนึ่งไปยังบัพอื่นๆ เป็นการหาระยะทางของเส้นทางที่สั้นที่สุดจากบัพที่เลือกเป็นบัพต้นทางไปยังบัพใดๆในกราฟ

47 4 3 1 2 การหาเส้นทางที่สั้นที่สุดจากบัพ 0 ไปยัง อื่นๆ ได้ดังนี้
10 เริ่มต้น 4 90 20 80 3 100 60 30 1 2 40 การหาเส้นทางที่สั้นที่สุดจากบัพ 0 ไปยัง อื่นๆ ได้ดังนี้ จากบัพ 0 ไปยังบัพ 1 เส้นทางที่สั้นที่สุด คือ 80 จากบัพ 0 ไปยังบัพ 2 เส้นทางที่สั้นที่สุด คือ = 60 จากบัพ 0 ไปยังบัพ 3 เส้นทางที่สั้นที่สุด คือ = 30 จากบัพ 0 ไปยังบัพ 4 เส้นทางที่สั้นที่สุด คือ 10

48 โดยในการหาระยะทาง เวกเตอร์ d[ i ] จะบรรจุระยะทางของเส้นทางที่สั้นที่สุดจากบัพเริ่มต้นไปยังบัพ i ในขณะนั้น สำหรับขั้นตอนวิธีของการหาเส้นทางที่สั้นสุด จากจากบัพหนึ่งไปยังบัพอื่นๆ คือ For i=0 to n-1 do select w n-S such that d[w] is minimum add w to s for each node n n-S do d [v]=min(d [v],d[w]+C[w][v]) new old

49 2.การหาระยะทางของเส้นทางที่สั้นที่สุดระหว่างบัพเป็นคู่ๆ เป็นการหาของระยะทางของเส้นทางที่สั้นที่สุดของบัพที่ถูกเลือกเป็นบัพต้นทางกับบัพใดบัพหนึ่งในกราฟ โดยใช้วิธีการของฟลอยด์(Floyd’s Method) ซึ่งเป็นเมทริกซ์ประชิด C แทนกราฟG สำหรับการหาระยะทางของเส้นทางที่สั้นที่สุดของบัพ i ไปยังบัพ j ใช้สูตร ถ้า i=j ให้ [i][j]=0 i j และมีเส้นเชื่อม ให้ [i][j]=c[i][j] ไม่มีเส้นเชื่อม ให้ [i][j] =

50 แสดงเมทริกซ์ประชิดของกราฟ
10 เริ่มต้น 4 90 20 80 3 100 60 30 1 2 40 แสดงเมทริกซ์ประชิดของกราฟ

51 จากเมทริกซ์ประชิด C สามารถนำมาหาระยะทางที่สั้นที่สุดระหว่างบัพทุกๆคู่ได้ โดยมีขั้นตอนดังนี้
ขั้นที่ 1 สร้างเมทริกซ์ประชิด A0 (เหมือนกับเมทริกซ์ประชิด C)

52 ขั้นที่ 2 หาค่า A[i][j] ในรอบการคำนวณที่ 1 โดยรอบนี้จะผ่านบัพ 2 บัพ คือ บัพ 0 และ 1

53 ขั้นที่ 3 หาค่า A[i][j] ในรอบการคำนวณที่ 2 โดยรอบนี้จะผ่านบัพ 3 บัพ คือ บัพ 0,1 และ 2 และผ่านเส้นเชื่อม 2 เส้น

54 ขั้นที่ 4 หาค่า A[i][j] ในรอบการคำนวณที่ 3 โดยรอบนี้จะผ่านบัพ 4 บัพ คือ บัพ 0,1,2 และ 3 และผ่านเส้นเชื่อม 3 เส้น

55 ขั้นที่ 5 หาค่า A[i][j] ในรอบการคำนวณที่ 4 โดยรอบนี้จะผ่านบัพ 5 บัพ คือ บัพ 0,1,2,3 และ 4 และผ่านเส้นเชื่อม 4 เส้น

56 3.การหาระยะทางของเส้นทางหรือเวลาที่สั้นที่สุดที่เชื่อมบัพทุกๆบัพ นิยมใช้ในงานที่เกี่ยวกับคมนาคม โดยกำหนดให้บัพแทนเมือง และให้เส้นเชื่อมแทนถนนระหว่างเมือง ผลลัพธ์ที่ได้จากการหาเส้นทางที่เชื่อมทุกๆเมือง ด้วยระยะทางที่สั้นที่สุดหรือด้วยเวลาที่น้อยที่สุด มักจะเขียนในลักษณะของต้นไม้แบบทอดข้าม โดยที่กิ่งของต้นไม้คือเส้นเชื่อม และบัพของต้นไม้ คือบัพของกราฟที่แทนข่ายงานคมนาคมนั่นเอง

57 ขั้นตอนการสร้างต้นไม้แบบทอดข้าม มีดังนี้ ขั้นที่ 1เลือกบัพใดๆมาหนึ่งบัพ เพื่อให้เป็นบัพรากของต้นไม้แบบทอดข้าม ขั้นที่ 2 พิจารณาดูว่าเส้นเชื่อมที่ออกจากบัพรากไปยังบัพประชิด เส้นใดที่มีค่าน้อย ที่สุดก็ให้เลือกเส้นเชื่อมนั้น ขั้นที่ 3 นำบัพประชิดในขั้นที่ 2 ไปเพิ่มในต้นไม้แบบทอดข้าม T ขั้นที่ 4 นำบัพประชิดในขั้นที่ 2 ไปเพิ่มในเซต U ทำวงตั้งแต่ขั้นที่ 2-4 ไปเรื่อยๆจนบัพใน U เท่ากับบัพใน V

58 กราฟ ประกอบด้วยบัพ 5 บัพ คือ a,b,c,d และ e ดังนี้
40 30 e 20 d b 45 10 25 c สามารถแสดงขั้นตอนการสร้างต้นไม้แบบทอดข้ามได้ดังนี้

59 ขั้นที่ 1 เลือกบัพ a เป็นบัพราก ดังนั้น U={a}
5 40 30 e 20 d b 45 10 25 c

60 ขั้นที่ 2 เลือกเส้นเชื่อม (a,e)
บัพราก a 5 40 30 e 20 d b 45 10 25 c

61 ขั้นที่ 3 นำบัพประชิดในขั้นที่ 2 ไปเพิ่มในต้นไม้แบบทอดข้าม T
บัพราก a 5 40 30 e 20 d b 45 10 25 c

62 ขั้นที่ 4 นำบัพประชิดในขั้นที่ 2 ไปเพิ่มในเซต U U={a,e}
ทำวนขั้นที่ 2 เลือกเส้นเชื่อม (e,d) บัพราก a 5 40 30 e 20 d b 45 10 25 c

63 ทำวนขั้นที่ 3 เพิ่มบัพ d ในต้นไม้แบบทอดข้าม
บัพราก a 5 40 30 e 20 d b 45 10 25 c

64 ทำวนขั้นที่ 4 นำบัพ d ไปเพิ่มในเซต U U={a,e,d}
ทำวนขั้นที่ 2 เลือกเส้นเชื่อม {d,e} บัพราก a 5 40 30 e 20 d b 45 10 25 c

65 ทำวนขั้นที่ 3 เพิ่มบัพ c ในต้นไม้แบบทอดข้าม
บัพราก a 5 40 30 e 20 d b 45 10 25 c

66 ทำวนขั้นที่ 4 นำบัพ c ไปเพิ่มในเซต U U={a,e,d,c}
ทำวนขั้นที่ 2 เลือกเส้นเชื่อม {c,b} บัพราก a 5 40 30 e 20 d b 45 10 25 c

67 ทำวนขั้นที่ 3 เพิ่มบัพ b ในต้นไม้แบบทอดข้าม
บัพราก a 5 40 30 e 20 d b 45 10 25 c

68 แสดงต้นไม้แบบทอดข้ามจากข่ายงาน
ทำวนขั้นที่ 4 นำบัพ b ไปเพิ่มในเซต U U={a,e,d,c,b} จะเห็นว่าสมาชิกใน U เท่ากับสมาชิกของ V ดังนั้น การดำเนินการจึงสิ้นสุดลง (แสดงเส้นทางที่สั้นที่สุดที่เชื่อมบัพทุกๆบัพเข้าด้วยกัน) a 5 e 20 d b 10 25 c แสดงต้นไม้แบบทอดข้ามจากข่ายงาน

69 Any Question?

70 สมาชิกในกลุ่ม COMPUTER SCIENCE’54
1. นายฮัฟซี เงาะ ( ประธาน ) 2. นางสาวจุฬาศิณีย์ เหมรา ( เลขานุการ ) 3. นางสาวสุไรนี โอะแขวน นางสาวนุรีซา สุหลง นายวาลิช เจ๊ะแม นายฮานาฟี สะไร นายมะเปาซี กะมะ นางสาวนูรไอมาน สะแปอิง นางสาวไซนับ เจ๊ะอุบง COMPUTER SCIENCE’54


ดาวน์โหลด ppt DATA STRUCTURE IN C กราฟ (Graph).

งานนำเสนอที่คล้ายกัน


Ads by Google