Professional Documents
Culture Documents
BTree
BTree
BTree
Nhc li v cy AVL
Pht minh: Adelson-Velskii and Landis
L mt dng cy nh phn.
phc tp tm kim: O(lg N)
nh ngha: Cy AVL l cy nh phn tm kim trong
Nhc li v cy AVL
Thm cc node 1, 2, 3, 4, 5
1
+1
2
0
3
BST sau
khi thm
0
1
4
0
Cy AVL sau
khi thm
Cc trng hp mt cn bng
V d
V d
Sau khi insert 8, 6, 12, 3, 10, 9, ta c cy nh
phn:
8
12
10
Vi phm
tnh cht AVL!
V d
Quay phi ti node 12 ta nhn c cy AVL:
8
6
12
6
3
10
10
3
9
12
V d
delete 12
10
12
10
V d
delete 8
10
10
V d
Insert 7, 8
9
9
10
10
3
3
8
V d
Vi phm, thc hin quay Tri-Phi
Quay tri
9
9
10
10
V d
9
Xoay phi
7
10
6
8
Kt qu cui cng!
10
Cy tm kim M-Phn
Tng t cy nh phn tm kim, ngoi tr:
Mi node c M-1 kha tm kim.
kim M-Phn?
B-Cy
Cy M-Phn v cy nh phn
Cy M-Phn tm kim
B-Cy
B-Tree bc M l cy M-Phn tm kim c cc tnh cht:
1.
2.
3.
Mi nt l u nm cng mt mc.
4.
B-Cy
Khi no dng n B-Cy?
Hn ch s thao tc c mi ln tm kim trn cy
Thch hp cho vic tm kim trn b nh ngoi
Chiu cao cy = logMN, tng M chiu cao cy gim
rt nhanh.
Khai bo CTDL
struct NodeType
{
int numtree;//s cy con
int Key[Order];//mng lu cc kha ca node
NodeType* Branch[Order+1];//con tr tr n node
con
};
typedef NodeType* NODEPTR;
NODEPTR * Root;//con tr tr ti nt gc
(theo th t) vo B-tree: 1 12 8 2 25 5 14 28 17 7 52
16 48 68 3 26 29 53 55 45
www.themegallery.com
Bn phn t u tin c a vo
12
nt gc
8
Nu a phn t th nm vo nt
12 25
Nt l bn phi y (
c 4 phn t). Do , khi
thm kha 17 vo nt l bn
phi s lm nt l b qu
ti. Ly kha gia a ln
nt cha (hin ti l nt gc)
v phn chia nt hin ti.
12 14 25 28
17
12 14
25 28
6 7
17
12 14 16
25 28 48 52
17 48
12 14 16
25 28
52 68
17 48
12 14 16
25 26 28 29
52 53 55 68
v a kha 28 ln
28 48
12 14 16
25 26
29 45
52 53 55 68
3, 7, 9, 23, 45, 1, 5, 14, 25, 24, 13, 11, 8, 19, 4, 31, 35, 56
12 29 52
15 22
Xa 2: Nt l vn cn s lng
phn t theo yu cu
31 43
56 69 72
12 29 56
52
15 22
31 43
56 69 72
15 22
31 43
69 72
Cn qu
t kha
Delete 72
15 22
31 43 56 69
15 22
31 43 56 69
Delete 22
15 29
43 56 69
Bi tp
Cho B-tree bc 5 gm cc kha sau (chn vo theo
th t): 3, 7, 9, 23, 45, 1, 5, 14, 25, 24, 13, 11, 8, 19, 4, 31,
35, 56
1.