nivel 15: estructuras recursivas binarias · 2018. 7. 19. · Árboles avl •formalismo abstracto...
TRANSCRIPT
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS
Árboles AVL
1
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
Árboles AVL• Formalismo Abstracto
• Invariante
r
a1 a2
{ inv: a1 y a2 son disyuntos, todos los elementos de a1
son menores que e, todos los elementos de a2
son mayores que e, a1 y a2 son ordenados,
| (altura (a1) – altura (a2) | 1, a1 y a2 son AVL }
2
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
Árboles AVL
3
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
Árboles perfectamente balanceados
• La noción de equilibrio viene dada por el peso de los subárboles:• El número de elementos en cada uno de los subárboles asociados no
puede diferir en más de 1
• Los dos subárboles deben ser también perfectamente balanceados.
4
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
Inserción
• Dos etapas:
1. Agregar el elemento como en un árbol binario cualquiera
2. Restaurar el balanceo del árbol mediante rotaciones
5
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
Caso 1
6
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
Caso 2
7
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
Caso 2
8
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
Caso 3
9
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
Caso 3
10
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
Caso 4
11
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
Caso 4
12
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
Caso 5
13
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
Caso 5
14
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
Eliminación
• Dos etapas:
1. Eliminar el elemento como en un árbol binario cualquiera
2. Restaurar el balanceo del árbol mediante rotaciones. Mismos esquemas de notación utilizados en inserción.
15
-
ISIS1206 – Estructuras de Datos
http://cupi2.uniandes.edu.co
16