Arbol Binario AVL PDF
Arbol Binario AVL PDF
Arbol Binario AVL PDF
Tipo árbol
2
DLSI (Univ. Alicante) Tema 3. Tipo árbol
FE = 0 FE = 0
h
ó
h-2 h-1 h-1 h-2
I D
D I
item item
FE = -1 FE = +1
h
ó
h-1 h-1
I D I D
item item
D FE = -2
B FE = 0
-1
B D
h+2
h
ROTACIÓN II E
A
(-2,-1) h
item
A C C E
item
4
DLSI (Univ. Alicante) Tema 3. Tipo árbol
+1
D B
h+2
ROTACIÓN DD h
A E
(+2,+1) h
item
C E A C
item
F FE = -2 D FE = 0
+1
B B F
h+2 h
ROTACIÓN ID D
G
(-2,+1) h
C E
h-1 A G
A
C E item ó item
item ó item
B FE = +2 D FE = 0
F -1
B F
ROTACIÓN DI h+2
D
(+2,-1) h
A h
h-1 C E G
C E G A
item ó item
5
item ó item
0 B +1 0 +1
0 B 0
4 insertar 5 4 10 4 F
10 8
ID
-1 G
0 0 +1 0 0
0 0
2 2 A 2
6 A 6 D 5 10
G
C
0
5
C
6 +1 6 0
0 0
0 +2
insertar 12 4 B 4 10 D
8 DD
0 +1 0 0 0 0
0
D 2 75
2 5 10 8 12
B E
0
E
12
Hay que tener en cuenta que la actualización del FE de cada nodo se efectúa
desde las hojas hacia la raíz del árbol
6
DLSI (Univ. Alicante) Tema 3. Tipo árbol
ALGORITMO EQUILIBRARIZQUIERDA
ENTRADA/SALIDA I : Iterador; Crece: Integer;
VAR J, K: Iterador; int E2;
METODO
si ( FE (HijoIzq (I ) = -1 entonces //ROTACIÓN II
Mover (J, HijoIzq (I));
Mover (HijoIzq (I), HijoDer (J));
Mover (HijoDer (J), I);
FE (J) = 0; FE (HijoDer (J)) = 0;
Mover (I,J);
sino //ROTACIÓN ID
Mover (J, HijoIzq (I));
Mover (K, HijoDer (J));
E2 = FE (K);
Mover (HijoIzq (I), HijoDer (K));
Mover (HijoDer (J), HijoIzq (K));
Mover (HijoIzq (K), J);
Mover (HijoDer (K), I);
FE (K) = 0;
caso de E2
-1: FE (HijoIzq (K)) = 0; FE (HijoDer (K)) = 1;
+1: FE (HijoIzq (K)) = -1; FE (HijoDer (K)) = 0;
0: FE (HijoIzq (K)) = 0; FE (HijoDer (K)) = 0;
fcaso
Mover (I, K);
fsi
Crece = FALSE;
8
fMETODO
DLSI (Univ. Alicante) Tema 3. Tipo árbol
1) Construir un árbol AVL formado por los nodos insertados en el siguiente orden
con etiquetas 4, 5, 7, 2, 1, 3, 6
2 6
1 3 5 7
10
DLSI (Univ. Alicante) Tema 3. Tipo árbol
FE = +1 FE = -1 FE = 0
h
h-2 h-1 ó h-1 h-2 h-2
I I I
D D D
FE = -1
FE = +1
ó
h-2
h-2
I D I
D
11
Rotaciones simples
ROTACIÓN DD B FE = +1 D FE = -1
(+2,0) D
0
B
h+2
h h
A E
h h-1
C E A C
B FE = +1 D FE = 0
+1
(+2,+1) D B
h+2
La altura del árbol decrece h h
A E
h-1 h-1
C A C
E
12
DLSI (Univ. Alicante) Tema 3. Tipo árbol
Rotaciones simples
D FE = -1 B FE = +1
ROTACIÓN II
0
(-2,0) B D
h h+2
E h
A
h h-1
E
A C C
D FE = -1 B FE = 0
-1
B D
(-2,-1) h
h+2
E h
La altura del árbol decrece
h-1 h-1
C A E
C
A
13
Rotaciones dobles
B FE = +1 D FE = 0
ROTACIÓN DI -1
F F
(+2,-1) B
h+2
La altura del árbol decrece D
h+1
A h C E
h-1 A G
C E G
item ó item
item ó item
F FE = -1 D FE = 0
+1
ROTACIÓN ID
B B F
(-2,+1) h+2 h+1
h G h
h-1 C E
A A G
C E item ó item
item ó item
14
DLSI (Univ. Alicante) Tema 3. Tipo árbol
3 8
2 4 7 10
1 6 9 11
16
DLSI (Univ. Alicante) Tema 3. Tipo árbol
40
30 50
20 35 45 55
10 25 32 42
17
2) La solución es la siguiente:
25
10 45
5 20 35 50
42
18