Ging vin:
Vn Ch Nam Nguyn Th Hng Nhung ng Nguyn c Tin
2
Khi nim
Php duyt cy v Biu din cyCy nh phn v Cy nh phn tm kim Cy AVL Cy AACu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
1
3
Cu trc d liu v gii thut - HCMUS 2011
4
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
2
5
ab d i o j p e k q f l g m c h n
Cu trc d liu v gii thut - HCMUS 2011
6
Cu trc d liu v gii thut - HCMUS 2011
S t chc
Cy th mc
FIT-HCMUS
3
7
Cy (cy c gc) c xc nh quy nh sau:Tp hp gm 1 nh l mt cy. Cy ny c gc l nh duy nht ca n. 2. Gi T1, T2, Tk (k 1) l cc cy khng ct nhau c gc tng ng r1, r2, rk. Gi s r l mt nh mi khng thuc cc cy Ti. Khi , tp hp T gm nh r v cc cy Ti to thnh mt cy mi vi gc r. Cc cy T1, T2, Tk c gi l cy con ca gc r.1.Cu trc d liu v gii thut - HCMUS 2011
8
Nt gc
r1
r2
rk
T1
T2
Tk
Cy con
Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
4
9
node: nh root: gc cy leaf: l inner node/internal node: nh trong parent: nh cha child: nh con path: ng i
Cu trc d liu v gii thut - HCMUS 2011
10
Nt gc
r1
r2
rk k1 k2
T1
T2
Tk k3 k4 k5
Cy conNt lCu trc d liu v gii thut - HCMUS 2011
ng i
k6
FIT-HCMUS
5
11
degree/order: bc Bc
ca node: S con ca node Bc ca cy: bc ln nht trong s cc con
depth/level: su/mc Mc
( su)ca node: Chiu di ca ng i t node gc n node cng thm 1. cao cy:rng: 0 khc rng: Mc ln nht gia cc node ca cy
height: chiu cao Chiu Cy Cy
Cu trc d liu v gii thut - HCMUS 2011
12
Bc = k
Nt gc cao = 4
Bc = 2
r1
r2
rk k1 k2
T1
T2
Tk k3 k4 k5
Cy conNt lCu trc d liu v gii thut - HCMUS 2011
ng i
k6
FIT-HCMUS
6
13
Cu trc d liu v gii thut - HCMUS 2011
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:
Duyt trc (Pre-order) Duyt gia (In-order) Duyt sau (Post-order)Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
7
15
Parent(a)?
Tm cha mt nh. Parent(x)
Parent(b) = a
EldestChild(c) = g
Tm nh con tri nht. EldestChild(x)
b
c
Tm nh k phi. NextSibling(x)
d
e
f
g
h
NextSibling(g) = h
iCu trc d liu v gii thut - HCMUS 2011 NextSibling(h)?
16
Duyt trc abdeijcfgkh
Duyt theo chiu su
Duyt gia dbiejafckghd
b
c
e
f
g
h
Duyt sau dijebfkghcai j k
Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
8
17
Pre-order void Preorder(NODE A)
Post-order void Postorder(NODE A) { NODE B; B = EldestChild(A); while (B != ) { Postorder(B); B = NextSibling(B); } Visit(A); }
{NODE B; Visit(A); B = EldestChild(A); while (B != ) {
Preorder(B);B = NextSibling(B); } }
Cu trc d liu v gii thut - HCMUS 2011
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
9
19
Cu trc d liu v gii thut - HCMUS 2011
20
info 1 a
child
id next 2 4 6 9 3 5 7 10 8
23 4 5 6
bc d e f
b11
c
78 9 10 11
gh i j k
d
e
f
g
h
iCu trc d liu v gii thut - HCMUS 2011
j
k
FIT-HCMUS
10
21
A
Root
B
C
D
E
F
G
H
I
J
K
Cu trc d liu v gii thut - HCMUS 2011
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
b
c
d
e
f
g
h
i
j
k
Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
11
23
A
Root
B
C
D
E
F
G
H
I
J
K
Cu trc d liu v gii thut - HCMUS 2011
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
b
c
d
e
f
g
h
i
j
k
Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
12
25
Binary tree
Cu trc d liu v gii thut - HCMUS 2011
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{
b
c
d
e
f
g
NODE
h
i
j
Data key; NODE *pLeft; NODE *pRight; };Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
13
27
Cy t chc thi u Cy biu thc s hc Lu tr v tm kim thng tin.4
*
+
-
1
sin
3
4
30
Cy biu thc: 4 * (3 4) + (1 + sin(30))Cu trc d liu v gii thut - HCMUS 2011
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.
Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
14
29
4
10
2
6
9
23
5
7
20
Cu trc d liu v gii thut - HCMUS 2011
30
c im: C
th t Khng c phn t trng D dng to d liu sp xp, v tm kim
Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
15
Cu trc d liu v gii thut - HCMUS 2011
32
Thm phn t (kha) Tm kim phn t (kha) Xa phn t (kha) Sp xp Duyt cy Quay cyCu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
16
33
Bc 1: Bt u t gc Bc 2: So snh d liu (kha) cn thm vi d liu (kha) ca node hin hnh. Nu
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.
Bc 3: Khng th i tip na => To node mi vi d liu (kha) cn thm. Kt thcCu trc d liu v gii thut - HCMUS 2011
34
Bc 1: Bt u t gc
Bc 2: So snh d liu (kha) cn tm vi d liu (kha) ca node hin hnh. Nu
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.
Bc 3: Khng th i tip na => Khng tm thy. Kt thc.Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
17
35
Tm n node cha d liu (kha) cn xa. Xt cc trng hp: Node
l Node ch c 1 con Node c 2 con: dng phn t th mng xa th.
Cu trc d liu v gii thut - HCMUS 2011
36
Cho cy nh phn tm kim
Th t duyt cc node nu s dng Duyt gia?1
8
19
9
16
Nu nhn xt C
th d dng to d liu sp xp nu dng php duyt gia8 9 13 14 15 16 18
13 1419
18
1
Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
18
37
Duyt trc
4 2 1 3 23 20 25
Cu trc d liu v gii thut - HCMUS 2011
38
Duyt gia
4 2 1 3 23 20 25
Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
19
39
Duyt sau
4 2 1 3 23 20 25
Cu trc d liu v gii thut - HCMUS 2011
40
P
Quay tri cy P
P
Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
20
41
Quay tri cy P P 18 35
8
35 20 50 8
18 20
50
55
55
Cu trc d liu v gii thut - HCMUS 2011
42
Quay phi cy P
P
P
Cu trc d liu v gii thut - HCMUS 2011
FIT-HCMUS
21
43
Quay phi cy P P 50 37 36 40
4037 45
5565
50 55
45
65 36
Cu trc d liu v gii thut - HCMUS 2011
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)
Cu trc d liu v gii thut - HCMUS 2011
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
Cu trc d liu v gii thut - HCMUS 2011
46
To cy nh phn tm kim theo th t nhp nh sau: 1, 8, 9, 12, 14, 15, 16, 18, 191 8 9 12 14 15 16 18Cu trc d liu v gii thut - HCMUS 2011
19
FIT-HCMUS
23