ต้นไม้ ( tree)staff.cs.psu.ac.th/pennee/344-281/10-tree.pdf · 2018-10-17 ·...
Post on 11-Mar-2020
2 Views
Preview:
TRANSCRIPT
ตนไม (Tree)
10.1 ตนไม (Tree)
ทร T เปน connected undirected simple graph ทไมม cycle (จดจบวนกลบมาทจดเรมตน)
ปา (forest) ประกอบขนจาก ทร T 1
ตวอยาง
กราฟทเปน ทร
รปท 1 แสดงกราฟทเปนทร
ตวอยาง
กราฟทไมใชทร
รปท 2 แสดงกราฟทไมเปนทร
ขอสงเกต
1. กราฟ G เปน ทร กตอเมอ ม path ระหวางจด 2 จด ใดๆ ในกราฟ G 2. ทร T ประกอบดวย n จด และ n-1 ดาน 3. ทร T = (V,E) ซงม จ านวนจด | V | 2 มจดอยางนอยทสด 2 จด ทม ดกรเปน 1
นยาม Rooted Tree แทนดวย (T, r) ซงประกอบดวย T = (V,E) และ r V ซงถกเลอกเปนราก
(root) ของทร
ขอสงเกต
ดานของทรทไดรบการก าหนดราก r แลว จะเสมอนถกก าหนดทศทางจาก r ไป ยง จด v นนๆ
ตวอยาง
รปท 3 แสดง Rooted Tree (T,c)
ตวอยาง
ศพททควรรเกยวกบทร
ก าหนด rooted tree (T,r) ทม r เปนราก ดงภาพ
รปท 4 แสดง Rooted Tree (T,r)
1. ส าหรบ จด v r โหนด พอ-แม (parent) u ทกอใหเกดดาน (u, v) E จะเรยกจด v วาเปนโหนดลก (child) ของ u และเรยกจดสองจดใดๆทม โหนดพอ-แมรวมกนวาโหนดญาต ( siblings)
2. โหนด ใบ (leaf) คอ โหนดทไมมโหนดลก และ เรยก โหนดทอยถดจากโหนดลกวา โหนดภายใน (internal vertices)
3. ความสง (height) ของทร วดจากเสนทางทยาวทสด จาก ราก ไป ยงใบ ของทรตนนนๆ 4. บรรพบรษ (ancestors ) ของโหนด v คอทกโหนด u ทไมใช v (u v) ซงมทศจาก u ไป v 5. ลกหลาน (descendants) ของโหนด v คอทกโหนด u ทไมใช v (u v) ซงมทศจาก v ไป u 6. ซบทร (subtree) ทไดรบการก าหนดให รากเปน จด v และ โหนดลกหลานของ v
รปท 5 แสดง Subtree ของ Tree (T,r)
10.2 ชนดของทร
m-ary Trees
นยาม m-ary Trees ส าหรบ m 1 จะเรยก rooted tree วาเปน m-ary tree ถา ทกโหนด
ภายใน (internal nodes) มลกอยางมากทสด m จ านวน
และ จะเปน full m-ary tree ถาทกโหนดภายใน (internal node) มลกเปน m จ านวน
รปท 6 แสดง m-ary Trees
Rooted ordered tree
นยาม rooted ordered tree เปน rooted tree (T,r) ซง ลกของแตละโหนดภายใน
(internal vertex) v ใดๆ ถกจดเรยงในลกษณะล าดบเชงเสน v
หมายเหต ทรมกจะจดเรยงคานอยอยในโหนดทางซายและคามากอยในโหนดทางขวา
หาก rooted ordered tree เปน binary tree โหนดทางซายถกเรยกวา left child โหนด
ทางขวาถกเรยกวา right child
รปท 7 แสดง rooted ordered tree
ทฤษฎบท ส าหรบทก m 1 ทก full m-ary tree ซงมจ านวน i โหนดภายใน จะมจ านวน
จดทงสน
n = mXi + 1 จด
ทฤษฎบท ส าหรบทก m 1 full m-ary tree ใดๆ ซงม n โหนด จะมโหนดภายใน i = (n-
1)/m จ านวน และม leaf l = [(mn-n)+1]/m จ านวน
Spanning Trees
ส าหรบ simple undirected graph G ใดๆ Spanning Tree ของ กราฟ G เปนสบกราฟ T
ของ G ซง ทร T ประกอบดวยทกจดของกราฟ G
ทฤษฎบท ทก connected graph G ใดๆ จะม spanning tree
ตวอยาง
จาก simple undirected graph G ทก าหนดให จงหา spanning tree
วธท า
Spanning Tree ของ กราฟ G เปนสบกราฟ T ของ G ซง ทร T ประกอบดวยทกจดของ
กราฟ G ทไมม cycle
10.3 Minimal Spanning Tree
Minimal Spanning Tree
นยาม Minimal Spanning Tree เปน undirected connected graph G ทมคาน าหนกก ากบ
อยบนดานของกราฟ G โดยจะใหผลรวมของคาน าหนกของ ทรนอยทสด
ตวอยาง
จงหา minimal spanning จากกราฟทก าหนด
วธท า
Spanning Tree ทเปนไปไดทงหมด
ดงนน minimal spanning tree คอ Tree 2 ม weigh รวมทนอยทสด = 71
ตวอยาง
จงหา minimal spanning จากกราฟทก าหนด
วธท า
Spanning Tree ทเปนไปไดทงหมด
ดงนน minimal spanning tree คอ MST1 และ MST2 ม weigh รวมทนอยทสด =
1+2+24+67 = 94
Prim’s algorithm
ขนตอนวธในการหา minimal spanning tree ตามขนตอนวธของ Prim
1, เลอกจด r ทเปน root ของ spanning tree โดยก าหนด S = {r} และ A = {}
2. เลอกดานทม weigh นอยทสดทเชอมกบจดใดจดหนงใน เซต S แลวน าจดปลายของดาน
ทเลอกเพมในเซต S และเพมดานทเลอกในเซต A
3. ท าขนตอนท 2 ซ า จนกวาจดทกจดไดรบการเลอก
ตวอยาง จาก undirected connected weighed graph G ทก าหนดให
จงหา minimal spanning tree โดยขนตอนวธ Prim
วธท า
ดงนน minimal spanning tree โดยขนตอนวธ Prim มคาเทากบ 28 หนวย
top related