Árbol Equilibrado: Es aquel en que la altura de los
dos subárboles de la raíz se diferencian en como
máximo una
Árbol Completo: Es aquel en que todos los nodos
tienen exactamente 0 o dos subárboles unidad.
UN ÁRBOL BINARIO COMPLETO
Un árbol binario completo (a veces un árbol binario
apropiado o un árbol de 2 o estrictamente binario) es un
árbol en el que cada nodo que no sea las hojas tiene dos
hijos.
Un árbol binario completo es un árbol binario en el que cada
nivel, excepto posiblemente el último, está completamente
lleno y todos los nodos están lo más a la izquierda posible.
Un árbol binario completo
DEFINICIÓN DE UN ÁRBOL AVL
El árbol AVL toma su nombre de las iniciales de los apellidos de sus inventores, Georgii Adelson-Velskii
y Yevgeniy Landis. Lo dieron a conocer en la publicación de un artículo en 1962.
Los árboles AVL están siempre equilibrados de tal modo que para todos los nodos, la altura de la rama
izquierda no difiere en más de una unidad de la altura de la rama derecha o viceversa.
La eficiencia de una búsqueda en un árbol binario ordenado varía entre O(n) y O(log(n)), dependiendo
de la estructura que presente el árbol. Árbol Degenerado Árbol Equilibrado de Búsqueda
CARACTERÍSTICA
UN ÁRBOL TOTALMENTE EQUILIBRADO
Un árbol totalmente equilibrado se caracteriza porque la altura de la
rama izquierda es igual que la altura de la rama derecha para cada uno
de los nodos del árbol.
• La estructura de datos de árbol equilibrado que se utiliza es la del
árbol AVL. Son árboles ordenados o de búsqueda que, además,
cumplen la condición de balanceo para cada uno de los nodos.
Árbol Equilibrado
Árbol no Equilibrado
ALTURA DE UN ÁRBOL EQUILIBRADO, ÁRBOL AVL
• No resulta fácil determinar la altura promedio de un árbol AVL, por ello se determina la altura en
el peor de los casos, es decir, la altura máxima que puede tener un árbol equilibrado con un
número de nodos n. La altura es un parámetro importante ya que coincide con el número de
iteraciones que se realizan para bajar desde el nodo raíz al nivel mas profundo de las hojas.
• El árbol equilibrado de n nodos menos denso tiene como altura (1.44*log (n)), donde n es el
número de nodos en el peor de los casos del árbol AVL de altura h y se puede afirmar que la
complejidad de una búsqueda es O(Log n).
FACTOR DE EQUILIBRIO
Si el factor de equilibrio de cualquier nodo es 1, significa que el
subárbol izquierdo está un nivel más alto que el subárbol
derecho.
Si el factor de equilibrio de cualquier nodo es 0, significa que el
subárbol izquierdo y el subárbol derecho contienen la misma
altura.
Si el factor de equilibrio de cualquier nodo es -1, significa que el
subárbol izquierdo está un nivel más bajo que el subárbol
derecho.
Podemos ver que el factor de equilibrio asociado con cada nodo
está entre -1 y +1. por lo tanto, es un ejemplo de árbol AVL.
INSERCIÓN EN AVL
• La Inserción se hace siguiendo el camino de búsqueda
• Puede aumentar la altura de una rama, de manera que cambie el factor
de equilibrio de dicho nodo.
– Implica que se retornará por el camino de búsqueda para actualizar el
FE de c/nodo
– Se puede llegar a Desbalancear (Altura=2) => Rebalanceos.
– O Puede mejorar: Si al Árbol X se le Inserta el 3, resultará en
Perfectamente Balanceado.
• El Proceso termina cuando se llega a la Raíz o cuando termina el
Rebalanceo del mismo.
ROTACIÓN DOBLE A LA DERECHA
Para hacer una Rotación Doble Derecha partimos de que la
parte izquierda del árbol esta en desequilibrio siendo la parte
derecha la que esta “Cargada”, también se debe tener encuentra
que el FE objetivo debe ser mayor a 1 y que su Sub-Nodo
Derecho tenga un FE<0, es decir que sea negativo, al cumplirse
todas estas condiciones decimos que para equilibrar ese sector
del árbol se debe hacer una RDD. Formula: RDD= Rotación
Doble Derecha RSD= Rotación Simple Derecha RSI= Rotación
Simple Izquierda RDD= RSD y RSI
Para hacer una Rotación Doble Izquierda partimos de que la parte
Derecha del árbol esta en Desequilibrio siendo la parte Izquierda la que
esta “Cargada”, también se debe tener encuentra que el FE objetivo debe
ser mayor a -1 y que su Sub-Nodo Izquierdo tenga un FE>0 es decir que
sea Positivo, al cumplirse todas estas condiciones decimos que para
equilibrar ese sector del árbol se debe hacer una RDI. Formula: RDI=
Rotación Doble Izquierda RSI= Rotación Simple Izquierda RSD= Rotación
Simple Derecha RDI= RSI y RSD
ROTACION DOBLE A LA IZQUIERDA
ELIMINACIÓN DE UN NODO AVL
Luego de eliminar un nodo con cierta clave, el árbol resultante debe seguir siendo
AVL
El Algoritmo puede descomponerse en dos parte bien diferenciadas.
1- eliminar el Nodo: según la estrategia que vimos en la Eliminación de Nodo en
Árbol de búsqueda.
2- balancear: se debe seguir el camino de búsqueda en sentido inverso:
2.1. Arreglar el Factor de Equilibrio
2.2.restaurar el equilibrio allí donde se rompe.
Equilibrado

Equilibrado

  • 2.
    Árbol Equilibrado: Esaquel en que la altura de los dos subárboles de la raíz se diferencian en como máximo una Árbol Completo: Es aquel en que todos los nodos tienen exactamente 0 o dos subárboles unidad.
  • 3.
    UN ÁRBOL BINARIOCOMPLETO Un árbol binario completo (a veces un árbol binario apropiado o un árbol de 2 o estrictamente binario) es un árbol en el que cada nodo que no sea las hojas tiene dos hijos. Un árbol binario completo es un árbol binario en el que cada nivel, excepto posiblemente el último, está completamente lleno y todos los nodos están lo más a la izquierda posible. Un árbol binario completo
  • 4.
    DEFINICIÓN DE UNÁRBOL AVL El árbol AVL toma su nombre de las iniciales de los apellidos de sus inventores, Georgii Adelson-Velskii y Yevgeniy Landis. Lo dieron a conocer en la publicación de un artículo en 1962. Los árboles AVL están siempre equilibrados de tal modo que para todos los nodos, la altura de la rama izquierda no difiere en más de una unidad de la altura de la rama derecha o viceversa. La eficiencia de una búsqueda en un árbol binario ordenado varía entre O(n) y O(log(n)), dependiendo de la estructura que presente el árbol. Árbol Degenerado Árbol Equilibrado de Búsqueda
  • 5.
    CARACTERÍSTICA UN ÁRBOL TOTALMENTEEQUILIBRADO Un árbol totalmente equilibrado se caracteriza porque la altura de la rama izquierda es igual que la altura de la rama derecha para cada uno de los nodos del árbol. • La estructura de datos de árbol equilibrado que se utiliza es la del árbol AVL. Son árboles ordenados o de búsqueda que, además, cumplen la condición de balanceo para cada uno de los nodos. Árbol Equilibrado Árbol no Equilibrado
  • 6.
    ALTURA DE UNÁRBOL EQUILIBRADO, ÁRBOL AVL • No resulta fácil determinar la altura promedio de un árbol AVL, por ello se determina la altura en el peor de los casos, es decir, la altura máxima que puede tener un árbol equilibrado con un número de nodos n. La altura es un parámetro importante ya que coincide con el número de iteraciones que se realizan para bajar desde el nodo raíz al nivel mas profundo de las hojas. • El árbol equilibrado de n nodos menos denso tiene como altura (1.44*log (n)), donde n es el número de nodos en el peor de los casos del árbol AVL de altura h y se puede afirmar que la complejidad de una búsqueda es O(Log n).
  • 7.
    FACTOR DE EQUILIBRIO Siel factor de equilibrio de cualquier nodo es 1, significa que el subárbol izquierdo está un nivel más alto que el subárbol derecho. Si el factor de equilibrio de cualquier nodo es 0, significa que el subárbol izquierdo y el subárbol derecho contienen la misma altura. Si el factor de equilibrio de cualquier nodo es -1, significa que el subárbol izquierdo está un nivel más bajo que el subárbol derecho. Podemos ver que el factor de equilibrio asociado con cada nodo está entre -1 y +1. por lo tanto, es un ejemplo de árbol AVL.
  • 8.
    INSERCIÓN EN AVL •La Inserción se hace siguiendo el camino de búsqueda • Puede aumentar la altura de una rama, de manera que cambie el factor de equilibrio de dicho nodo. – Implica que se retornará por el camino de búsqueda para actualizar el FE de c/nodo – Se puede llegar a Desbalancear (Altura=2) => Rebalanceos. – O Puede mejorar: Si al Árbol X se le Inserta el 3, resultará en Perfectamente Balanceado. • El Proceso termina cuando se llega a la Raíz o cuando termina el Rebalanceo del mismo.
  • 9.
    ROTACIÓN DOBLE ALA DERECHA Para hacer una Rotación Doble Derecha partimos de que la parte izquierda del árbol esta en desequilibrio siendo la parte derecha la que esta “Cargada”, también se debe tener encuentra que el FE objetivo debe ser mayor a 1 y que su Sub-Nodo Derecho tenga un FE<0, es decir que sea negativo, al cumplirse todas estas condiciones decimos que para equilibrar ese sector del árbol se debe hacer una RDD. Formula: RDD= Rotación Doble Derecha RSD= Rotación Simple Derecha RSI= Rotación Simple Izquierda RDD= RSD y RSI
  • 10.
    Para hacer unaRotación Doble Izquierda partimos de que la parte Derecha del árbol esta en Desequilibrio siendo la parte Izquierda la que esta “Cargada”, también se debe tener encuentra que el FE objetivo debe ser mayor a -1 y que su Sub-Nodo Izquierdo tenga un FE>0 es decir que sea Positivo, al cumplirse todas estas condiciones decimos que para equilibrar ese sector del árbol se debe hacer una RDI. Formula: RDI= Rotación Doble Izquierda RSI= Rotación Simple Izquierda RSD= Rotación Simple Derecha RDI= RSI y RSD ROTACION DOBLE A LA IZQUIERDA
  • 11.
    ELIMINACIÓN DE UNNODO AVL Luego de eliminar un nodo con cierta clave, el árbol resultante debe seguir siendo AVL El Algoritmo puede descomponerse en dos parte bien diferenciadas. 1- eliminar el Nodo: según la estrategia que vimos en la Eliminación de Nodo en Árbol de búsqueda. 2- balancear: se debe seguir el camino de búsqueda en sentido inverso: 2.1. Arreglar el Factor de Equilibrio 2.2.restaurar el equilibrio allí donde se rompe.