Está en la página 1de 42

ÁRBOLES EQUILIBRADOS AVL

ING. ARMANDO CARDONA PAIZ


ÁRBOLES EQUILIBRADOS O ÁRBOLES 
AVL
• Los métodos que describen este tipo de árboles fueron descritos en 1962 por
los matemáticos rusos G. M. Adelson-Velskii y E. M. Landis.
• Un árbol balanceado es un árbol de búsqueda, en el cual se debe cumplir la
siguiente condición: “Para todo nodo T del árbol la altura de los subárboles
izquierdo y derecho no deben diferir en a lo sumo una unidad”.
20

20
1 3

20 1 1 10 30
0 1
0 0 0 2

30 40
0 0
10 30 0 1

0 0 0 0
50
0 0
DEFINICIÓN

• Un árbol equilibrado o árbol AVL es un árbol binario de búsqueda en el que


las alturas de los subárboles izquierdo y derecho de cualquier nodo difieren
como máximo en 1.
ROTACIÓN SIMPLE A LA IZQUIERDA
ROTACIÓN SIMPLE A LA DERECHA
ÁRBOLES EQUILIBRADOS AVL
Ejemplo: 29,19,50,60,22,12,17,8,5

29
19 50

12 60
22
8 17
ÁRBOLES EQUILIBRADOS AVL

Ejemplo: 29,19,50,60,22,12,17,8,5
• Un árbol equilibrado o
29 árbol AVL es un árbol
3 2
19 50 binario de búsqueda en
0 1
2 1 el que las alturas de los
12 60 subárboles izquierdo y
1 1
22 0 0
derecho de cualquier
0 0
8 17 nodo difieren como
0 0
0 0 máximo en 1.
ÁRBOLES EQUILIBRADOS AVL

Ejemplo: 29,19,50,60,22,12,17,8,5
• Un árbol equilibrado o
29 árbol AVL es un árbol
3 2
binario de búsqueda en
19 50
2 1 0 1 el que las alturas de los

12 60 subárboles izquierdo y
1 1
22 0 0 derecho de cualquier
0 0
nodo difieren como
8 17
0 0
0 0
máximo en 1.
5
0 0
ÁRBOLES EQUILIBRADOS AVL

Ejemplo: 29,19,50,60,22,12,17,8,5
• Un árbol equilibrado o
29 árbol AVL es un árbol
4 2
binario de búsqueda en
19 50
3 1 0 1 el que las alturas de los

12 60 subárboles izquierdo y
2 1
22 0 0
derecho de cualquier
0 0
8 nodo difieren como
1 0
17 máximo en 1.
0 0
5
0 0
ÁRBOLES EQUILIBRADOS AVL

Ejemplo: 29,19,50,60,22,12,17,8,5
29
4 2
50
0 1

12 19 60
0 0
2 1 3 1

8 17 22
1 0
0 0 0 0
5
0 0
ÁRBOLES EQUILIBRADOS AVL

Ejemplo: 29,19,50,60,22,12,17,8,5
29
3 2
12 50
2 1 0 1
8 19 60
1 0 0 0
1 1
5
0 0 17 22
0 0 0 0
EJEMPLO
ÁRBOLES EQUILIBRADOS AVL

•Ejemplo: 20,30,40,35,15,50,55,56,57,58
20
0 0
ÁRBOLES EQUILIBRADOS AVL

•Ejemplo: 20,30,40,35,15,50,55,56,57,58
20
0 1

30
0 0
ÁRBOLES EQUILIBRADOS AVL

•Ejemplo: 20,30,40,35,15,50,55,56,57,58
30 20
1 1 0 2

30
20 40 0 1
0 0
0 0
40
0 0
ÁRBOLES EQUILIBRADOS AVL

•Ejemplo: 20,30,40,35,15,50,55,56,57,58
30
1 2

20 40
0 0 1 0

35
0 0
ÁRBOLES EQUILIBRADOS AVL

•Ejemplo: 20,30,40,35,15,50,55,56,57,58
30
2 2

20 40
1 0 1 0

15 35
0 0
0 0
•Ejemplo: 20,30,40,35,15,50,55,56,57,58
30
2 2

20 40
1 0 1 1

15 35 50
0 0 0 0
0 0
•Ejemplo: 20,30,40,35,15,50,55,56,57,58
30
2 3

20 40
1 0 1 2

15 35 50
0 0 0 1
0 0

55
0 0
•Ejemplo: 20,30,40,35,15,50,55,56,57,58
30
2 3

20 40
1 0 1 2

15 35 50
0 0 0 2
0 0

55
0 1

56
0 0
•Ejemplo: 20,30,40,35,15,50,55,56,57,58
30
2 3

20 40
1 0 1 2

15 35 55
0 0 1 1
0 0

56
50 0 0
0 0
•Ejemplo: 20,30,40,35,15,50,55,56,57,58
30
2 3

20 40
1 0 1 3

15 35 55
0 0 1 2
0 0

56
50 0 1
0 0

57
0 0
•Ejemplo: 20,30,40,35,15,50,55,56,57,58
30
2 3

20 55
2 2
1 0

15 40
0 0
1 1 56
0 1

35 50 57
0 0 0 0
0 0
•Ejemplo: 20,30,40,35,15,50,55,56,57,58
30
2 3

20 55
2 2
1 0

15 40
0 0
1 1 56
0 2

35 50 57
0 0 0 1
0 0
58
0 0
•Ejemplo: 20,30,40,35,15,50,55,56,57,58
30
2 3

20 55
2 2
1 0

15 40
1 1 57
0 0 1 1

35 50
0 0
0 0
58
56 0 0

0 0
EJERCICIOS
ÁRBOLES EQUILIBRADOS AVL

•Ejemplo: 15,25,30,35,10,40,44,45,46,47
15
0 0
8,2,3,4,10,11,5,7,6,22
FACTOR DE
EQUILIBRIO
FACTOR DE EQUILIBRIO O BALANCE DE
UN NODO
• Se define como la altura del subárbol derecho menos la altura del subárbol
izquierdo correspondiente.
• El factor de equilibrio de cada nodo en un árbol equilibrado puede tomar los
valores: 1, -1 ó 0.

Formula
FE: Altura de Subárbol Derecho -
Altura de Subárbol Izquierdo
FACTOR DE EQUILIBRIO

• La altura o profundidad de un árbol binario es el nivel máximo de sus hojas


más uno. La altura de un árbol nulo se considera cero.
Formula
FE: Altura de Subárbol Derecho -
Altura de Subárbol Izquierdo
CALCULAR EL
FACTOR DE EQUILIBRIO Insertar: 17

El factor de equilibrio de cada nodo en un árbol equilibrado puede


tomar los valores: 1, -1 ó 0. Caso contrario el Árbol esta desequilibrado
ROTACIÓN SIMPLE IZQUIERDA IZQUIERDA
(II)

El factor de equilibrio de cada nodo en un árbol equilibrado puede


tomar los valores: 1, -1 ó 0. Caso contrario el Árbol esta desequilibrado
ROTACIÓN SIMPLE DERECHA DERECHA

El factor de equilibrio de cada nodo en un árbol equilibrado puede


tomar los valores: 1, -1 ó 0. Caso contrario el Árbol esta desequilibrado
CALCULAR EL FACTOR DE EQUILIBRIO Y
BALANCEAR EL ÁRBOL
ROTACIÓN DOBLE

• Con la rotación simple no es posible resolver todos los casos de violación del
criterio de equilibrio.
• Ejemplo Insertemos: 30,60,40

El árbol de búsqueda de la Figura está


desequilibrado, con factores de equilibrio +2, -1 y 0.
ROTACIÓN DOBLE A LA DERECHA
(DERECHA-IZQUIERDA)
CUANDO EL FE> + 1 Y SU HIJO DERECHO TIENE SIGNO DISTINTO (-)
LA ÚNICA SOLUCIÓN CONSISTE EN SUBIR EL
NODO 40 COMO RAÍZ DEL SUBÁRBOL, COMO RAMA IZQUIERDA SITUAR EL NODO 30 Y COMO
RAMA DERECHA EL NODO 60; LA ALTURA DEL SUBÁRBOL RESULTANTE ES LA MISMA QUE ANTES
DE INSERTAR. SE HA REALIZADO UNA ROTACIÓN DOBLE, DERECHA-IZQUIERDA, EN LA QUE
INTERVIENEN LOS TRES NODOS.
ROTACIÓN DOBLE A LA IZQUIERDA
(IZQUIERDA-DERECHA)

• Cuando el FE< - 1 y su hijo derecho tiene signo distinto (+)


Insertemos 60,30,40
EJERCICIO
1. 10
2. 20
3. 30
4. 40
5. 80
6. 90
7. 50
8. 75
9. 45
10. 60
11. 90
EJERCICIOS

• Crear los siguientes Arboles Binarios y AVL y compárelos.


• A. 20,30,50,75
• B. 20,30,50,75,80,25,10
• C. 10,5,4,3,2,1
• D. 10,80,90,5,85,95,12,37,96,99,24
• E. 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,99,7,6
A B C

D E

También podría gustarte