AVL- - , .
1. 1.
2. AVL-.
. , AVL- log , ( ). In, add del, .
AVL- , , . , . . , -1, 0 +1. , .
: addavli Tree, X, NewTree)
Tree, MewTree AVL-, , NewTree Tree X AVL- : t(Left, a. Right) /Height
10. 221
, Left Right , a Height . nil/0. X AVL-, . Tree = t(L, A, /
, X . X : addsvl(R, X, t(R1, , R2)/)
. 10.6 , NewTree:
L, A, R1, , R2
[ h + 2
h-1 addavi(R,X,t(ni,B,R2J/Hb)
h )
h+ 1 Ft
AeAsA
h h-Z h-2
h-1 h-1
h h
h+1 h+l
. 10.6. AVL-depeaor a) AVL- X, X > ; 6),WL X ■: ) ,
L, R, R1 R2? L 1. . 10.6 , R1 R2. R , X, (? 1 R2) h+ 1.
, X , , , . NewTre< ( Tree!, Tree2 ) , . , , NewTree, AVL-. NewTree ; Treel, , 12, ,
|
|
.
1. , 2, , .
2. Treel , , , 2 .
3. , , , 2 Treel.
222 I. Prolog
. 10.7 , NewTree . 1 (2) NewTree. , . 10.7, Prolog : combine[ Treel, A, Tree2r , , NewTree)
2>1 2> |
2. HI;: 2 1;: |
HI |
?
3: >2 H3j: HI |