Professional Documents
Culture Documents
Cấu trúc cây khái niệm - cây nhị phân tìm kiếm
Cấu trúc cây khái niệm - cây nhị phân tìm kiếm
Khi nim
FIT-HCMUS
Tree Search tree Binary search tree Balanced tree AVL tree AA tree Red-Black tree
Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
a
b d i o j p e k q f l g m c h n
S t chc
Cy th mc
FIT-HCMUS
Nt gc
r1
r2
rk
T1
T2
Tk
Cy con
FIT-HCMUS
node: nh root: gc cy leaf: l inner node/internal node: nh trong parent: nh cha child: nh con path: ng i
10
Nt gc
r1
r2
rk k1 k2
T1
T2
Tk k3 k4 k5
Cy con
Nt l
Cu trc d liu v gii thut - HCMUS 2011
ng i
k6
FIT-HCMUS
11
degree/order: bc
Bc
depth/level: su/mc
Mc
12
Bc = k
Nt gc cao = 4
Bc = 2
r1
r2
rk k1 k2
T1
T2
Tk k3 k4 k5
Cy con
Nt l
Cu trc d liu v gii thut - HCMUS 2011
ng i
k6
FIT-HCMUS
13
14
m bo n mi node trn cy chnh xc mt ln mt cch c h thng. Nhiu thao tc x l trn cy cn phi s dng n php duyt cy. Cc php c bn:
FIT-HCMUS
15
Parent(a)?
Tm cha mt nh.
Parent(x)
Parent(b) = a
EldestChild(c) = g
Tm nh k phi.
NextSibling(x)
NextSibling(g) = h
i
Cu trc d liu v gii thut - HCMUS 2011 NextSibling(h)?
16
Duyt trc
abdeijcfgkh
Duyt gia
dbiejafckgh
d
Duyt sau
dijebfkghca
i j k
FIT-HCMUS
17
{
NODE B; Visit(A); B = EldestChild(A); while (B != ) {
Preorder(B);
B = NextSibling(B); } }
18
In-Order void Inorder(NODE A) { NODE B; B = EldestChild(A); if (B != ) { Inorder(B); B = NextSibling(B); } Visit(A); while (B != ) { Inorder(B); B = NextSibling(B); } }
Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
19
20
info 1 a
child
id next 2 4 6 9 3 5 7 10 8
2
3 4 5 6
b
c d e f
b
11
7
8 9 10 11
g
h i j k
i
Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
10
21
Root
22
Info 1 2 3 4 5 6 7 8 9 10 11 a b c d e f g h i j k
Eldest Child 2 4 6 0 9 0 11 0 0 0 0
Next Sibling 0 3 0 5 0 7 8 0 10 0 0
FIT-HCMUS
11
23
Root
24
Info 1 2 3 4 5 6 7 8 9 10 11 a b c d e f g h i j k
Parent 0 1 1 2 2 3 3 3 5 5 7
FIT-HCMUS
12
25
Binary tree
26
L cy m mi nh c bc ti a bng 2. Cc cy con c gi l cy con tri v cy con phi. C ton b cc thao tc c bn ca cy. struct
{
NODE
FIT-HCMUS
13
27
sin
30
28
1.
2.
3.
Cy nh phn tm kim l cy nh phn tha mn cc iu kin sau: Kha ca cc nh thuc cy con tri nh hn kha gc. Kha ca gc nh hn kha cc nh thuc cy con phi. Cy con tri v cy con phi ca gc cng l cy nh phn tm kim.
FIT-HCMUS
14
29
10
23
20
30
c im:
C
FIT-HCMUS
15
32
Thm phn t (kha) Tm kim phn t (kha) Xa phn t (kha) Sp xp Duyt cy Quay cy
Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
16
33
bng nhau => tn ti. Kt thc Nu nh hn => i qua nhnh tri, Tip bc 2. Nu ln hn => i qua nhnh phi, Tip bc 2.
34
Bc 1: Bt u t gc
bng nhau => Tm thy. Kt thc Nu nh hn => i qua nhnh tri, Tip bc 2. Nu ln hn => i qua nhnh phi, Tip bc 2.
FIT-HCMUS
17
35
36
19
16
Nu nhn xt
C
13 14
19
18
FIT-HCMUS
18
37
Duyt trc
4 2 1 3 23 20 25
38
Duyt gia
4 2 1 3 23 20 25
FIT-HCMUS
19
39
Duyt sau
4 2 1 3 23 20 25
40
Quay tri cy P
FIT-HCMUS
20
41
Quay tri cy P P 18 35
35 20 50 8
18 20
50
55
55
42
Quay phi cy P
FIT-HCMUS
21
43
Quay phi cy P P 50 37 36 40
40
37 45
55
65
50 55
45
65 36
44
i vi php tm kim:
Trng
hp tt nht: mi nt (tr nt l) u c 2 con: O(log2n) (chnh l chiu cao ca cy). Trng hp xu nht: cy tr thnh danh sch lin kt: O(n). Trng hp trung bnh l bao nhiu? O(log2n)
FIT-HCMUS
22
45
To cy nh phn tm kim theo th t nhp nh sau: 1, 8, 9, 12, 14, 15, 16, 18, 19
46
To cy nh phn tm kim theo th t nhp nh sau: 1, 8, 9, 12, 14, 15, 16, 18, 19
1 8 9 12 14 15 16 18
Cu trc d liu v gii thut - HCMUS 2011
19
FIT-HCMUS
23