BTree

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 35

GV: u Bu Long

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

mi node c thm mt h s cn bng (HSCB) i din cho


vic khc bit v chiu cao gia nhnh tri v phi, HSCB
khng vt qu 1.

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 tng cy AVL sau khi thc hin tng thao tc


sau: insert 8, insert 6, insert 12, insert 3, insert
10, insert 9, delete 12, delete 8, insert 7, and
insert 8.

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 M-Phn (M-ary Trees)


 Mi node c ti a M node con
 Vi cy nh phn ti a l 2 node.

 Mt cy M-Phn y c chiu cao logMN


 V d cy 5-ary y :

Cy tm kim M-Phn
 Tng t cy nh phn tm kim, ngoi tr:
 Mi node c M-1 kha tm kim.

 M cng ln  Cy cng thp


 Lm th no gi tnh cht cn bng trn cy tm

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.

Mi node (ngoi tr gc) c t nht M/2 node con.

2.

Node gc (nu khng phi nt l) c t nht 2 nt con.

3.

Mi nt l u nm cng mt mc.

4.

Cc kha v cy con c sp xp theo cy tm kim.

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

Cc thao tc trn B-Cy


 Tm kim:
 Tng t nh cy nh phn tm kim.

B-cy: Thm mt kha mi


 tng: Tm v tr kha c th thm vo cy. Vic
tm kim s kt thc ti mt l. Kha mi s c
thm vo nt l:
 Nu cha y  Vic thm hon tt.
 Nu y  Phn i nt l cn thm:




Tch nt l ra lm hai nt cnh nhau trong cng mt


mc.
Chuyn phn t gia ln nt cha.
Qu trnh phn i cc nt c th c lan truyn
ngc v gc v kt thc khi c mt nt cha no
cn c thm mt kha gi t di ln m cha
y.

Thm mt kha vo B-cy: V d


 Cho B-tree bc 5 rng. Ln lt thm gi tr cc kha sau

(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

Thm mt kha vo B-cy: V d


1

 Bn phn t u tin c a vo

12

nt gc
8

 Nu a phn t th nm vo nt

gc s lm vi phm iu kin cy Btree.


 Do , khi thm kha 25, tch nt

gc thnh 2 nt v a kha gia


ln to nt gc mi.

12 25

Thm mt kha vo B-cy: V d


8

Thm cc kha 6, 14, 28


vo cc nt l:
1

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

Thm mt kha vo B-cy: V d


Thm cc kha 7, 52, 16, 48
vo cc nt l
1

6 7

17

12 14 16

25 28 48 52

Thm kha 68 vo, cn tch nt l bn phi, a 48 ln nt


gc
Thm kha 3 vo, cn tch nt l bn tri, a kha 3 ln
nt gc
3

17 48

12 14 16

25 28

52 68

Thm mt kha vo B-cy: V d


Thm cc kha 26, 29, 53, 55 vo cc nt l
3

17 48

12 14 16

25 26 28 29

Thm kha 45 vo, cn tch 25 26 28 29


nt gc.

52 53 55 68

v a kha 28 ln

Khi , nt gc s qu ti v cn tch tip


17
3
1

28 48
12 14 16

25 26

29 45

52 53 55 68

p dng: Xy dng B-Tree


 Cho B Cy bc 5, thc hin chui thao tc Insert:

3, 7, 9, 23, 45, 1, 5, 14, 25, 24, 13, 11, 8, 19, 4, 31, 35, 56

Xa kha trong B-tree


 Khi chn, gi tr kha c chn vo nt l. Khi xa

phn t trong B-tree, chng ta cng mong mun xa


nt l.
 C 3 trng hp cn xt:
Nu kha cn xa nm nt l, v vic xa kha ny
khng lm cho nt l c qu t kha, chng ta c th
xa ngay kha ny.
2. Nu kha cn xa khng nm nt l, theo tnh cht
ca B-tree, kha c gi tr gn nht ca kha ny phi
nm nt l. Trong trng hp ny, chng ta s xa
kha cn xa, a kha c gi tr gn nht t nt l ln
thay th cho kha xa.
1.

Xa kha trong B-tree (2)


 Nu trong trng hp (1) hay (2), nt l cn li qu t

kha th, xt (cc) nt anh em k cn nt ang xt:


Nu mt trong cc nt anh em k cn nt ang xt c
s lng kha nhiu hn s lng ti thiu, a mt
kha ca nt anh em ln nt cha v a mt kha
nt cha xung nt ang xt
4. Nu tt c cc nt anh em k cn nt ang xt u c
s lng kha va s lng ti thiu, chn mt
nt anh em k cn v hp nht nt anh em ny vi nt
ang xt (v kha tng ng nt cha). Nu nt cha
tr nn thiu kha, lp li qu trnh ny.
3.

Trng hp #1: Xa kha nt l


Xa B-Tree bc 5
xy dng sn..

12 29 52

15 22

Xa 2: Nt l vn cn s lng
phn t theo yu cu

31 43

56 69 72

Trng hp #2: Xa kha khng nt l


Delete 52

12 29 56
52

15 22

31 43

56 69 72

Borrow the predecessor


or (in this case) successor

Trng hp #4: Nt ang xt v


nt anh em k cn u cn qu t kha
12 29 56
Hp nht

15 22

31 43

69 72
Cn qu
t kha
Delete 72

Trng hp #4: Nt ang xt v


nt anh em k cn u cn qu t kha
12 29

15 22

31 43 56 69

Trng hp #3: Nt anh em k cn


cn kha b sung
12 29
a kha t nt cha xung
a kha t nt anh em k cn ln

15 22

31 43 56 69

Delete 22

Trng hp #3: Nt anh em k cn


cn kha b sung
12 31

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.

 Thm kha: 2, 6,12


 Xa kha: 4, 5, 7, 3, 14

2. Khi to B Tree bc 7 vi cc thao tc Insert:34, 12,

55, 21, 6, 84, 5, 33, 15, 74, 54, 28, 10, 19




Sau thc hin chui thao tc: Insert(11),Delete(15),


Delete(6), Insert(98), Delete(34), Delete(5)

You might also like