1
ทรีทรี--ต้นไม้ต้นไม้((TreesTrees))
2
วัตถุประสงค์
•เพื่อศึกษาหลักการเบื้องต้นเกี่ยวกับ
ทรี(tree)หรือต้นไม้ในทางคอมพิวเตอร์
•ประยุกต์ความสัมพันธ์ของข้อมูลในรูปทรี
สำาหรับกระบวนการทางคอมพิวเตอร์
3
Outline
• Terminology:
• Tree application:
– Binary search tree(BST)
• Tree spanning:
– Minimum spanning tree by Prim’s algorithm
• Traversal:
– Pre-order, In-order and Post-order
4
คำาศัพท์เกี่ยวข้อง
(Terminologies)
• โครงสร้างของทรี (structural)
– ราก(root), ใบ(leaf) , โหนดภายใน(internal node),
กิ่ง(branch), ต้นไม้ย่อย(subtree),
• ความสัมพันธ์(Relationship)
– พ่อไม้:parent( predecessor ), ลูก:child( successor ), พี่
น้อง:sibling
• ชนิดของทรี(Types)
– n-ary tree, binary tree
• คุณสมบัติ(Properties)
– ระดับ(level) และความสูง(height)ของทรี
5
ทรี(Trees)
• ทรี กล่าวได้ว่าเป็น กราฟเชื่อมโยงแบบไม่ระบุ
ทิศทาง (connected undirected graph) ซึ่งจะต้องไม่มี
วงจรเกิดขึ้น (circuit)
• ทรีหลายทรีอยู่ที่เดียวกันเรียกว่า ป่า(forest)
• โครงสร้างของ ทรีประกอบไปด้วย เซตของ
โหนด(เทียบแล้วคือจุด บนกราฟ) กับเซตของเส้น
เชื่อมโยงระหว่างโหนด(เทียบแล้วคือ เส้น บน
กราฟ)
• มีการกำาหนดโหนดพิเศษที่เกิดเป็นโหนดแรกบนทรี
ถูก เรียกว่าโหนดราก (root node)
6
A
B DC
E F G H I
J K L M
โครงสร้างและองค์ประกอบของ
ทรี
Tree
A
B DC
E F G H I
J K L M
Graph
ทรี ต่างกับกราฟ
อย่างไร ?
7
ตัวอย่างทรี และ ป่า
(Tree and Forest Examples)
• A Tree: • A Forest:
Leaves in green, internal nodes in brown.
8
โครงสร้างและองค์ประกอบของ
ทรี
T1
T2
T3
Forest F ={T1, T2, T3}
F
ฐานข้อมูล
นักศึกษา
CS
ฐานข้อมูล
นักศึกษา
CPE
ฐานข้อมูล
นักศึกษา
ICT
9
A
B DC
E F G H I
J K L M
root
sibling
Height
1
2
3
4
leaf
Leaf of T = {E,J,K,G,H,L,M}
T:
A เป็น โหนดพ่อแม่ ของ B,Cและ D
โครงสร้างและองค์ประกอบของ
ทรี
B, C, D เป็น โหนดพี่น้อง ที่มี โหนด A เป็นโหนด
พ่อแม่
10
ต้นไม้ย่อย หรือ สับทรี (subtree)
A
B DC
E F G H I
J K L M
A
B DC
E F G H I
J K L M
T:
ต้นไม้ T ประกอบด้วย ต้นไม้ย่อย T1, T2, T3
• ต้นไม้ย่อย T1 มีโหนด B เป็น root
• ต้นไม้ย่อย T2 มีโหนด C เป็น root
• ต้นไม้ย่อย T3 มีโหนด D เป็น root
T1 T2 T3
11
n-ary trees
• แต่ละโหนดบนทรี(ยกเว้นโหนดใบ) จะมีจำำนวน
โหนดลูกไม่เกิน n โหนด
• ถ้ำ n ของ n-ary tree มีค่ำ n= 2 จะเรียน 2-ary
tree ซึ่งหมำยถึง ไบนำรีทรี (binary tree)
12
B
A
DC E
F G H H I
T1
4-ary tree
K A
B C
D E F G
binary
tree
T2
n-ary tree & binary tree
level-0
level-1
level-2
height
1
2
3
ไบนำรีทรี (ต้นไม้ทวิภำค)
A
B C
D E F G
Binary tree
T
N = 2h
-1
เมื่อ N แทนจำำนวนโหนด
ทั้งหมดของ
ไบนำรีทรี ที่มีควำมสูง h
เช่น ไบนำรีทรีที่มีควำมสูง
เท่ำกับ 3 จะมีจำำนวนโหนด
มำกที่สุดบนไบนำรีทรีเท่ำกับ
14
กำรประยุกต์ใช้ทรี กับกำร
ค้นหำ
(Binary Search Tree :BST)
T จะเป็น BST ถ้ำ
(1) T ต้องเป็น ไบนำรีทรี
(2) และทุกโหนดในต้นไม้ย่อยทำงซ้ำย
มีค่ำน้อยกว่ำทุกโหนดที่เป็นโหนดรำก
ของต้นไม้ย่อยและทุกโหนดใน
ต้นไม้ย่อยทำงขวำ
7
3 12
1 5 9 15
0 2 8 11
T:
15
Recursive Binary Tree Insert
procedure insert(T: binary tree, x: item)
v := root[T]
if v = null then begin
root[T] := x; return “Done” end
else if v = x return “Already present”
else if x < v then
return insert(leftSubtree[T], x)
else {must be x > v}
return insert(rightSubtree[T], x)
• ตัวอย่ำง เมื่อกำำหนดข้องมูล(ที่นำำไปสร้ำง
BST)โดยมีลำำดับกำรเข้ำข้อมูลของต้นไม้ BST
ดังนี้ {7,3,12,1,5, 9,15,0,2,8,11 }
กำรสร้ำง BST
7
3 12
1 5
7 7
3
7
3 12
7
3 12
1
นักศึกษำสร้ำงต่อให้เสร็จ ?
17
กำรสร้ำง BST
7
3 12
1 5 9 15
7
3 12
1 5
{7,3,12,1,5,9,15,0,2,8,11 }
7
3 12
1 5 9
18
กำรสร้ำง BST
{7,3,12,1,5,9,15,0,2,8,11 }
7
3 12
1 5 9 15
0
7
3 12
1 5 9 15
0 2
7
3 12
1 5 9 15
20 8
7
3 12
1 5 9 15
20 8 11
19
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
• MST เป็นการการเยี่ยมเดินไป
ให้ทั่วบนกราฟอย่างไม่ซำ้ากัน
โดยมีค่าผลรวมของ weight(ค่า
กำากับเส้นทาง) ที่น้อยที่สุด
• Prim’s algorithm ใช้หลักการ
– (1) พิจารณาโหนดในกราฟที่มี
ค่ากำากับเส้นทางที่น้อยที่สุด ณ
ขณะนั้นเข้าไปเป็นโหนดในทรี
โดยที่โหนดนั้นจะต้องไม่ทำาให้
เกิดวงจรบนทรี
20
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
สมมุติว่าเลือกโหนด
D เป็นโหนดเริ่มต้น
ของการทำา MST
D
5
1
3
2 1
D
F
21
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
สมมุติว่าเลือกโหนด
D เป็นโหนดเริ่มต้น
ของการทำา MST
D
5
3
2 1
D
F
4
1F 1 G
22
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
สมมุติว่าเลือกโหนด
D เป็นโหนดเริ่มต้น
ของการทำา MST
D
5
3
1
D
F
4
F 1 G
G
6
3 E
23
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
สมมุติว่าเลือกโหนด
D เป็นโหนดเริ่มต้น
ของการทำา MST
D
5
1
D
F
4
F 1 G
G
6
3 E
2
E
B
2
24
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
สมมุติว่าเลือกโหนด
D เป็นโหนดเริ่มต้น
ของการทำา MST
D
5
1
D
F
4
F 1 G
G
6
3 EE
B
2
B
3 3A
25
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
สมมุติว่าเลือกโหนด
D เป็นโหนดเริ่มต้น
ของการทำา MST
D
1
D
F
4
F 1 G
G
6
3 EE
B
2
B 3AA
2 2
C
26
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
D
F E
1 3
G
1
B
2
A
3
T:
ค่าผลรวมของค่ากำากับเส้นทางน้อยที่สุด = 1+1+3+2+3+2
1
D
F 1 G
3 E
B
2
3A
2
C
C
2
• Tree traversal หมายถึงการเดิมเยี่ยมโหนดทุกโหนดบนทรี ให้
ทั่ว อย่างไม่ซำ้ากัน
• สามารถทำาได้ 3 วิธี คือ : NLR(Pre-order), LNR(In-order)
และ LRN(Post-order)
• โดยพิจารณาโครงสร้างของทรี ดังนี้
27
Tree Traversal
(การเดินท่องไปให้ทั่วบนทรี)
R
N
L
N:แทนโหนดรากของทรี หรือ สับทรี
(subtree)L:แทนโหนดลูกทางซ้ายของทรี หรือ สับทรี
R:แทนโหนดลูกทางขวาของทรี หรือ สับทรี
28
Tree Traversal: NLR (Pre-order)
1
2 3
4 5 6 7
T:
8 9
NLR: ให้เดิน root ของ
แต่ subtree ก่อนแล้วจึง
เดิน
left subtree แล้วตามด้วย
right subtreeผลลัพธ์การเดิน:
1,2,4,5,8,9,3,6,7
29
Tree Traversal: LNR(In-order)
1
2 3
4 5 6 7
T:
8 9
LNR: ให้เดิน left
subtree ก่อนแล้วจึงเดิน
กลับไปที่
rootของ subtree แล้ว
ตามด้วย right subtree
ผลลัพธ์การเดิน:
4,2,8,5,9,1,6,3,7
30
Tree Traversal: LRN(Post-order)
1
2 3
4 5 6 7
T:
8 9
LRN: ให้เดิน left
subtree ก่อนแล้วจึงเดิน
right subtree แล้วตาม
ด้วย root ของ subtree
ผลลัพธ์การเดิน:
4,8,9,5,2,6,7,3,1
31
1.กำาหนดทรีทั่วไปมาหนึ่งต้น ให้แสดงการทำา
tree traversalทั้งสามแบบ (NLR, LNR และ
LRN)
2.กำาหนดชุดข้อมูลให้จำานวนหนึ่ง ให้แสดงการนำา
ชุดข้อมูลนี้ไปสร้าง BST
(20 นาที)
Quiz -VI
(1) กำาหนดกราฟ Gให้ดังรูป จงใช้ prim’s algorithm เพื่อหาผล
รวมของค่ากำากับเส้นทางที่น้อยที่สุดของต้นไม้กระจายทั่ว
ถึง(spanning tree)
32
คำาถามท้ายบท
A B
C D E
F G
G:
2
3
5
4
1
2
3
3
69
2
(2) เมื่อกำาหนดทรี Tให้ดังรูป จงหาผลลัพธ์การเดินเยี่ยมให้ทั่วบน
ทรี(tree traversal) ในแบบ NLR, LNR และ LRN
33
คำาถามท้ายบท
1
2 3
4 5 6 7
T:
8 9 10 11
(3) เมื่อกำาหนดทรี Tให้ดังรูป จงหาผลลัพธ์ของคำาถามต่อไปนี้
34
คำาถามท้ายบท
1
2 3
4 5 6 7
T:
8 9 10 11
3.1 ถ้าให้ T เป็นไบนารีทรี ทรีต้นนี้
มีความสูงเท่าใด
3.2 ทรี T จะมีจำานวนโหนดมาก
ที่สุดเท่าใด ถ้าความสูงของทรี T มี
ค่าเป็น 7
(4) จงใช้ข้อมูลที่กำาหนดให้ต่อไปนี้ นำาไปสร้าง BST: T2
ข้อมูล = {25,30,73,12,9,84,49,11,98,77,33,130}
35
คำาถามท้ายบท
(5) จาก BST ในข้อ 4 ถ้าต้องการทราบว่ามีข้อมูล 53 อยู่ใน T2
หรือไม่ จะต้องทำาการเปรียบเทียบทั้งหมดกี่ครั้งถึงจะทราบคำา
ตอบ
(6) จาก BST ในข้อ 4 จะสามารถสร้างทรีที่มีความสูงน้อยที่สุด
ด้วยค่าความสูงเท่าใด
Final Exam 1/53
• 1.(10) ตรวจสอบสมบัติความสัมพันธ์
• 2.(10) การแทนกราฟ
• 3.(10) isomorphic
• 4.(10) graph connectivity
• 5.(15) Dijkstra’s algorithm
• 6.(10) Prim’s algorithm
• 7.(5) วงจรตรรกเชิงผสม
• 8.(10) วงจรตรรกเชิงผสม
36

Trees

  • 1.
  • 2.
  • 3.
    3 Outline • Terminology: • Treeapplication: – Binary search tree(BST) • Tree spanning: – Minimum spanning tree by Prim’s algorithm • Traversal: – Pre-order, In-order and Post-order
  • 4.
    4 คำาศัพท์เกี่ยวข้อง (Terminologies) • โครงสร้างของทรี (structural) –ราก(root), ใบ(leaf) , โหนดภายใน(internal node), กิ่ง(branch), ต้นไม้ย่อย(subtree), • ความสัมพันธ์(Relationship) – พ่อไม้:parent( predecessor ), ลูก:child( successor ), พี่ น้อง:sibling • ชนิดของทรี(Types) – n-ary tree, binary tree • คุณสมบัติ(Properties) – ระดับ(level) และความสูง(height)ของทรี
  • 5.
    5 ทรี(Trees) • ทรี กล่าวได้ว่าเป็นกราฟเชื่อมโยงแบบไม่ระบุ ทิศทาง (connected undirected graph) ซึ่งจะต้องไม่มี วงจรเกิดขึ้น (circuit) • ทรีหลายทรีอยู่ที่เดียวกันเรียกว่า ป่า(forest) • โครงสร้างของ ทรีประกอบไปด้วย เซตของ โหนด(เทียบแล้วคือจุด บนกราฟ) กับเซตของเส้น เชื่อมโยงระหว่างโหนด(เทียบแล้วคือ เส้น บน กราฟ) • มีการกำาหนดโหนดพิเศษที่เกิดเป็นโหนดแรกบนทรี ถูก เรียกว่าโหนดราก (root node)
  • 6.
    6 A B DC E FG H I J K L M โครงสร้างและองค์ประกอบของ ทรี Tree A B DC E F G H I J K L M Graph ทรี ต่างกับกราฟ อย่างไร ?
  • 7.
    7 ตัวอย่างทรี และ ป่า (Treeand Forest Examples) • A Tree: • A Forest: Leaves in green, internal nodes in brown.
  • 8.
    8 โครงสร้างและองค์ประกอบของ ทรี T1 T2 T3 Forest F ={T1,T2, T3} F ฐานข้อมูล นักศึกษา CS ฐานข้อมูล นักศึกษา CPE ฐานข้อมูล นักศึกษา ICT
  • 9.
    9 A B DC E FG H I J K L M root sibling Height 1 2 3 4 leaf Leaf of T = {E,J,K,G,H,L,M} T: A เป็น โหนดพ่อแม่ ของ B,Cและ D โครงสร้างและองค์ประกอบของ ทรี B, C, D เป็น โหนดพี่น้อง ที่มี โหนด A เป็นโหนด พ่อแม่
  • 10.
    10 ต้นไม้ย่อย หรือ สับทรี(subtree) A B DC E F G H I J K L M A B DC E F G H I J K L M T: ต้นไม้ T ประกอบด้วย ต้นไม้ย่อย T1, T2, T3 • ต้นไม้ย่อย T1 มีโหนด B เป็น root • ต้นไม้ย่อย T2 มีโหนด C เป็น root • ต้นไม้ย่อย T3 มีโหนด D เป็น root T1 T2 T3
  • 11.
    11 n-ary trees • แต่ละโหนดบนทรี(ยกเว้นโหนดใบ)จะมีจำำนวน โหนดลูกไม่เกิน n โหนด • ถ้ำ n ของ n-ary tree มีค่ำ n= 2 จะเรียน 2-ary tree ซึ่งหมำยถึง ไบนำรีทรี (binary tree)
  • 12.
    12 B A DC E F GH H I T1 4-ary tree K A B C D E F G binary tree T2 n-ary tree & binary tree level-0 level-1 level-2 height 1 2 3
  • 13.
    ไบนำรีทรี (ต้นไม้ทวิภำค) A B C DE F G Binary tree T N = 2h -1 เมื่อ N แทนจำำนวนโหนด ทั้งหมดของ ไบนำรีทรี ที่มีควำมสูง h เช่น ไบนำรีทรีที่มีควำมสูง เท่ำกับ 3 จะมีจำำนวนโหนด มำกที่สุดบนไบนำรีทรีเท่ำกับ
  • 14.
    14 กำรประยุกต์ใช้ทรี กับกำร ค้นหำ (Binary SearchTree :BST) T จะเป็น BST ถ้ำ (1) T ต้องเป็น ไบนำรีทรี (2) และทุกโหนดในต้นไม้ย่อยทำงซ้ำย มีค่ำน้อยกว่ำทุกโหนดที่เป็นโหนดรำก ของต้นไม้ย่อยและทุกโหนดใน ต้นไม้ย่อยทำงขวำ 7 3 12 1 5 9 15 0 2 8 11 T:
  • 15.
    15 Recursive Binary TreeInsert procedure insert(T: binary tree, x: item) v := root[T] if v = null then begin root[T] := x; return “Done” end else if v = x return “Already present” else if x < v then return insert(leftSubtree[T], x) else {must be x > v} return insert(rightSubtree[T], x)
  • 16.
    • ตัวอย่ำง เมื่อกำำหนดข้องมูล(ที่นำำไปสร้ำง BST)โดยมีลำำดับกำรเข้ำข้อมูลของต้นไม้BST ดังนี้ {7,3,12,1,5, 9,15,0,2,8,11 } กำรสร้ำง BST 7 3 12 1 5 7 7 3 7 3 12 7 3 12 1 นักศึกษำสร้ำงต่อให้เสร็จ ?
  • 17.
    17 กำรสร้ำง BST 7 3 12 15 9 15 7 3 12 1 5 {7,3,12,1,5,9,15,0,2,8,11 } 7 3 12 1 5 9
  • 18.
    18 กำรสร้ำง BST {7,3,12,1,5,9,15,0,2,8,11 } 7 312 1 5 9 15 0 7 3 12 1 5 9 15 0 2 7 3 12 1 5 9 15 20 8 7 3 12 1 5 9 15 20 8 11
  • 19.
    19 A B C DE F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm • MST เป็นการการเยี่ยมเดินไป ให้ทั่วบนกราฟอย่างไม่ซำ้ากัน โดยมีค่าผลรวมของ weight(ค่า กำากับเส้นทาง) ที่น้อยที่สุด • Prim’s algorithm ใช้หลักการ – (1) พิจารณาโหนดในกราฟที่มี ค่ากำากับเส้นทางที่น้อยที่สุด ณ ขณะนั้นเข้าไปเป็นโหนดในทรี โดยที่โหนดนั้นจะต้องไม่ทำาให้ เกิดวงจรบนทรี
  • 20.
    20 A B C DE F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm สมมุติว่าเลือกโหนด D เป็นโหนดเริ่มต้น ของการทำา MST D 5 1 3 2 1 D F
  • 21.
    21 A B C DE F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm สมมุติว่าเลือกโหนด D เป็นโหนดเริ่มต้น ของการทำา MST D 5 3 2 1 D F 4 1F 1 G
  • 22.
    22 A B C DE F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm สมมุติว่าเลือกโหนด D เป็นโหนดเริ่มต้น ของการทำา MST D 5 3 1 D F 4 F 1 G G 6 3 E
  • 23.
    23 A B C DE F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm สมมุติว่าเลือกโหนด D เป็นโหนดเริ่มต้น ของการทำา MST D 5 1 D F 4 F 1 G G 6 3 E 2 E B 2
  • 24.
    24 A B C DE F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm สมมุติว่าเลือกโหนด D เป็นโหนดเริ่มต้น ของการทำา MST D 5 1 D F 4 F 1 G G 6 3 EE B 2 B 3 3A
  • 25.
    25 A B C DE F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm สมมุติว่าเลือกโหนด D เป็นโหนดเริ่มต้น ของการทำา MST D 1 D F 4 F 1 G G 6 3 EE B 2 B 3AA 2 2 C
  • 26.
    26 A B C DE F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm D F E 1 3 G 1 B 2 A 3 T: ค่าผลรวมของค่ากำากับเส้นทางน้อยที่สุด = 1+1+3+2+3+2 1 D F 1 G 3 E B 2 3A 2 C C 2
  • 27.
    • Tree traversalหมายถึงการเดิมเยี่ยมโหนดทุกโหนดบนทรี ให้ ทั่ว อย่างไม่ซำ้ากัน • สามารถทำาได้ 3 วิธี คือ : NLR(Pre-order), LNR(In-order) และ LRN(Post-order) • โดยพิจารณาโครงสร้างของทรี ดังนี้ 27 Tree Traversal (การเดินท่องไปให้ทั่วบนทรี) R N L N:แทนโหนดรากของทรี หรือ สับทรี (subtree)L:แทนโหนดลูกทางซ้ายของทรี หรือ สับทรี R:แทนโหนดลูกทางขวาของทรี หรือ สับทรี
  • 28.
    28 Tree Traversal: NLR(Pre-order) 1 2 3 4 5 6 7 T: 8 9 NLR: ให้เดิน root ของ แต่ subtree ก่อนแล้วจึง เดิน left subtree แล้วตามด้วย right subtreeผลลัพธ์การเดิน: 1,2,4,5,8,9,3,6,7
  • 29.
    29 Tree Traversal: LNR(In-order) 1 23 4 5 6 7 T: 8 9 LNR: ให้เดิน left subtree ก่อนแล้วจึงเดิน กลับไปที่ rootของ subtree แล้ว ตามด้วย right subtree ผลลัพธ์การเดิน: 4,2,8,5,9,1,6,3,7
  • 30.
    30 Tree Traversal: LRN(Post-order) 1 23 4 5 6 7 T: 8 9 LRN: ให้เดิน left subtree ก่อนแล้วจึงเดิน right subtree แล้วตาม ด้วย root ของ subtree ผลลัพธ์การเดิน: 4,8,9,5,2,6,7,3,1
  • 31.
    31 1.กำาหนดทรีทั่วไปมาหนึ่งต้น ให้แสดงการทำา tree traversalทั้งสามแบบ(NLR, LNR และ LRN) 2.กำาหนดชุดข้อมูลให้จำานวนหนึ่ง ให้แสดงการนำา ชุดข้อมูลนี้ไปสร้าง BST (20 นาที) Quiz -VI
  • 32.
    (1) กำาหนดกราฟ Gให้ดังรูปจงใช้ prim’s algorithm เพื่อหาผล รวมของค่ากำากับเส้นทางที่น้อยที่สุดของต้นไม้กระจายทั่ว ถึง(spanning tree) 32 คำาถามท้ายบท A B C D E F G G: 2 3 5 4 1 2 3 3 69 2
  • 33.
    (2) เมื่อกำาหนดทรี Tให้ดังรูปจงหาผลลัพธ์การเดินเยี่ยมให้ทั่วบน ทรี(tree traversal) ในแบบ NLR, LNR และ LRN 33 คำาถามท้ายบท 1 2 3 4 5 6 7 T: 8 9 10 11
  • 34.
    (3) เมื่อกำาหนดทรี Tให้ดังรูปจงหาผลลัพธ์ของคำาถามต่อไปนี้ 34 คำาถามท้ายบท 1 2 3 4 5 6 7 T: 8 9 10 11 3.1 ถ้าให้ T เป็นไบนารีทรี ทรีต้นนี้ มีความสูงเท่าใด 3.2 ทรี T จะมีจำานวนโหนดมาก ที่สุดเท่าใด ถ้าความสูงของทรี T มี ค่าเป็น 7
  • 35.
    (4) จงใช้ข้อมูลที่กำาหนดให้ต่อไปนี้ นำาไปสร้างBST: T2 ข้อมูล = {25,30,73,12,9,84,49,11,98,77,33,130} 35 คำาถามท้ายบท (5) จาก BST ในข้อ 4 ถ้าต้องการทราบว่ามีข้อมูล 53 อยู่ใน T2 หรือไม่ จะต้องทำาการเปรียบเทียบทั้งหมดกี่ครั้งถึงจะทราบคำา ตอบ (6) จาก BST ในข้อ 4 จะสามารถสร้างทรีที่มีความสูงน้อยที่สุด ด้วยค่าความสูงเท่าใด
  • 36.
    Final Exam 1/53 •1.(10) ตรวจสอบสมบัติความสัมพันธ์ • 2.(10) การแทนกราฟ • 3.(10) isomorphic • 4.(10) graph connectivity • 5.(15) Dijkstra’s algorithm • 6.(10) Prim’s algorithm • 7.(5) วงจรตรรกเชิงผสม • 8.(10) วงจรตรรกเชิงผสม 36