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 2 0 3 4 0 5 3 5 0 1 4 2 +1

BST sau khi thm

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

Vi phm tnh cht AVL!

10

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

10

12

V d
delete 8

10

10

V d
Insert 7, 8
9

9
6
10

10
3 7

3
8

V d
Vi phm, thc hin quay Tri-Phi
Quay tri
9 9 6
10 10

7 6 8

7 3

V d
Xoay phi
7 9 7
10

9 6 8

10

Kt qu cui cng!

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 ki m M-Phn
Tng t cy nh phn tm kim, ngoi tr:
Mi node c M-1 kha tm kim.

M cng l n

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. 2. 3. 4.

Mi node (ngoi tr gc) c t nht M/2 node con. Node gc (nu khng phi nt l) c t nht 2 nt con. Mi nt l u nm cng mt mc. 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 chi u cao cy gi m r t 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


Bn phn t u tin c a vo nt gc 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.
1 2 8 1 2 8 12

12 25

Thm mt kha vo B-cy: V d


Thm cc kha 6, 14, 28 vo cc nt l:
1 2 6 8 12 14 25 28

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.

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 2 6 7 8 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 8 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 8 17 48

12 14 16

25 26 28 29

52 53 55 68

Thm kha 45 vo, cn tch 25 26 28 29 nt gc. Khi , nt gc s qu ti v cn tch tip


17 3 1 2 6 7 8 12 14 16 25 26

v a kha 28 ln

28 48 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

31 43

56 69 72

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

Trng hp #2: Xa kha khng nt l


12 29 56 52
Delete 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
1.

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
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