TREES & GRAPHS
Trees
Free tree
b c
d f g
a
e
a
e b
d
g c
f c
f e
d
b a g
Rooted trees
c
d
(ที่หนึ่ง) e
(ที่สอง) a
(ที่สาม)
c
e
(ที่หนึ่ง) a
(ที่สอง) d
(ที่สาม)
Ordered trees
Trees
1 3 9
8 2 4
8 4 9
2 7
13 12 10
8 4 9
2 7
13 12
10
1 9
3 8
2
4
1 9
3 8
2
4
9 4 15
2 6 8 13 19 7
1 3 9
8 2 4
NULL Links
ถาตนไมหนึ่งมี n nodes โดยที่แตละ node มีลูกไดอยางมากที่สุด k 1. มีเสนเชื่อม (link) ในตนไมไดมากที่สุด n × k เสน
2. ทุกๆ node ในตนไมยกเวนราก จะถูกชี้โดยเสนเชื่อม node ละหนึ่งเสน
3. มีเสนเชื่อมอยู n-1 เสนที่มีคาไมเปน NULL สรุปไดวาสัดสวนของจํ านวนของเสนเชื่อม คาเปน NULL เทากับ
ตัวอยาง ถา k = 10 สรุปไดวา มากกวา 90% ของ link มีคาเปน NULL
( n k ) ( n )
n k k
× − −
× 1 ≈ − 1 1
data
เปลือง
Left-Child Right-Sibling
a
f
o d
h
i c
b e
j k l m
n p
g
a b
e
j k l m
f
d c
g
h
i
o n
p
data
left-child
right-sibling
Lexicographic Search Trees : Tries
{ 000, 1, 12, 122, 230, 3 }
0 1 2 3
3
000
1
12
122 230
Graphs
vertex edge
Shortest path problem
Graphs
Graph coloring problem
Graphs
ผสมปูน โบกปูน กออิฐ ทาสี ขับรถ สมบัติ X X
กรุง X X X X ลือชัย X X นาท X X ยอตชาย X
สมบัติ
กรุง ลือชัย นาท ยอตชาย
ผสมปูน โบกปูน กออิฐ ทาสี
ขับรถ
Matching problemGraphs : Definitions
Undirected graph Directed graph
Graphs : Adjacency Matrices
b
a
c
e
f
g d
a b c d e f g a 0 0 0 0 0 1 0 b 1 0 1 0 0 0 0 c 0 0 0 0 1 0 0 d 0 1 0 0 1 0 1 e 0 0 1 0 0 0 0 f 0 0 0 0 0 0 1 g 0 0 0 1 0 0 0
b
a
c
e
f
g d
a b c d e f g a 0 2 0 1 0 3 0 b 2 0 1 0 0 0 0 c 0 1 0 3 3 0 0 d 1 0 3 0 0 0 4 e 0 0 3 0 0 0 0 f 3 0 0 0 0 0 3 g 0 0 0 4 0 3 0
2 3
1 3
3 4
3
1
Graphs : Adjacency Lists
1
0
2
4
5
6 3
0 1 2 3 4 5 6
1 2 1 3 1 1 1
5 0 2 4 1 2 6 3
4 6
0 1 2 3 4 5 6
5 0 4 1 2 6 3
2
4 6