Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estructura de Datos
Tema 4:
Arbol AVL
Introducción
• ¿Qué son los arboles binarios de búsqueda?
1
22/09/2019
ARBOLES AVL
Adelson-Velskii-Landis
(1962)
Es un árbol binario de búsqueda con una
condición de equilibrio.
Condición de equilibrio
2
22/09/2019
Factor de equilibrio
Cada nodo, además de la información que se pretende
almacenar, debe tener los dos punteros a los árboles derecho e
izquierdo, igual que los árboles binarios de búsqueda (ABB), y
además el dato que controla el factor de equilibrio.
Por definición:
para un árbol AVL, este valor (FE) debe ser -1, 0 ó 1.
3
22/09/2019
No son AVL
SON AVL
4
22/09/2019
ARBOLES AVL
Mientras se mantenga la condición de equilibrio, el árbol
estará balanceado, lo que evitará que el árbol por el orden en
que se insertan o eliminan los elementos, se transforme o
tienda a ser una Lista Enlazada, sino más bien un árbol bajo
(petiso).
Inserción
- Insertar un nodo puede violar la propiedad de árbol AVL.
- Si este es el caso se debe restaurar el árbol para considerar
la operación de inserción finalizada.
- Esto se puede hacer siempre con una modificación al árbol,
conocida como “rotación”
5
22/09/2019
Tipos de Rotación
Rotación simple izquierda
Rotación simple derecha
Rotación doble izquierda
Rotación doble derecha
6
22/09/2019
K1 K2
Z X
X
Y Y Z
7
22/09/2019
8
22/09/2019
K1
X K2 Z
Y
X
Y Z
ROTACIONES DOBLES
9
22/09/2019
INSERTAR 14
4
4
2 6
2 6
1 3 5 7
1 3 5 7
15
15
ES ARBOL AVL
NO ES ARBOL
AVL
14
4
2 6
Se aplica la rotación
5 simple derecha,
1 3 15
pero el árbol sigue
desbalanceado.
7
NO ES ARBOL
14
AVL
2 6 2 6
1 3 5 7 1 3 5 14
15 7 15
NO ES ARBOL
AVL ES ARBOL AVL
14
10
22/09/2019
5 10
5 NO ES ARBOL
ES ARBOL AVL NO ES ARBOL
AVL AVL
7
7
15
15
10 20
7 20
5
5 10
7
ES ARBOL AVL
NO ES ARBOL
AVL
K3 K2
K1 K3 K1
A
K2
D A B C D
B C
11
22/09/2019
K3 K2
K1 K1 K3
D
K2
A B C D
A
B C
12
22/09/2019
Ejemplos
ELIMINAR 42
55 55
39 110 39 110
21 42 21 69 190
69 190
11 26 11 26
NO ES ARBOL
ES ARBOL AVL AVL
55
Al volver por el camino
21 110 de búsqueda el nodo
visitado 39 está
desbalanceado, se
11 39 69 aplica rotación simple
190
izquierda. Continua
hasta llegar a la raiz.
26
ES ARBOL AVL
13
22/09/2019
65 ELIMINAR 25 65
43 70 43 70
25 58 67 75 58 67 75
62 66 69 73 86 62 66 69 73 86
NO ES ARBOL
ES ARBOL AVL 68 68
AVL
Rotación
doble 67 65
izquierda.
65 70 70
53
58 66 69 75 43 62 67 75
43 62 68 73 86 66 69
Rotación simple 73 86
izquierda. Continua
hasta llegar a la raiz.
ES ARBOL AVL 68
14
22/09/2019
15
22/09/2019
Conclusiones
¿Qué problema resuelve el árbol AVL?
¿ En que caso conviene usarlo?
¿ si compara la eficiencia del mejor caso y peor caso, AVL vs
ABB, qué puede decir?
16
22/09/2019
Consultas…
Próximas clases
• Clases prácticas:
• Miércoles 25/9
• Viernes 27/9
• Parcial 1:
• Miércoles 2/10
• Clase de teoría:
• Grafos: Viernes 4/10
17