Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Árbol AVL PDF
Árbol AVL PDF
rbol AVL
Un rbol totalmente equilibrado se caracteriza porque la atura de la rama
izquierda es igual que la altura de la rama derecha para cada uno de los nodos
del rbol. Es un rbol ideal, pero siempre se puede conseguir que el rbol est
balanceado.
La estructura de datos de rbol equilibrado que se utiliza es la del rbol ABL. El
nombre es en honor de Adelson-Velskii-Landis, que fueron los primeros
cientficos en estudiar las propiedades de esta estructura de datos. Son rboles
ordenados de bsqueda que, adems, cumplen la condicin de balanceo para
cada uno de sus nodos.
Un rbol AVL es un rbol binario de bsqueda en el que las alturas de los
subrboles izquierdo y derecho de cualquier nodo difieren como mximo en 1.
Arbol AVL
Un rbol AVL es un rbol binario balanceado.
La altura de un rbol binario perfectamente equilibrado de n nodos es log n
Las operaciones que se aplican a los rboles AVL no requieren ms del 44%
de tiempo (en el caso ms desfavorable) que si se aplican a un rbol
perfectamente equilibrado.
Insercin
El algoritmo es el siguiente:
Se compara la nueva clave con la clave raz, contina por la rama izquierda o
derecha segn sea menos o mayor.
Se inserta como un nodo hoja.
Debido a que la nueva hoja puede hacer que el rbol crezca en altura de una
rama, se ve afectado el factor de equilibrio del nodo raz de dicha rama. Esto
hace necesario que el algoritmo de insercin regrese por el camino de
bsqueda actualizando el factor de equilibrio de los nodos.
Proceso de insercin
Si se aplica el proceso de insercin previamente dicho, an falta actualizar
los factores de equilibrio, pues estos se ven afectados cada vez que una hoja
es agregada.
La actualizacin del factor de equilibrio puede hacer que este mejore. Esto
ocurre cuando un nodo est descompensado a la izquierda y se inserta el
nuevo nodo en la rama izquierda, aumentando la altura en dicho lado y
haciendo que el factor de equilibrio se haga 0.
Balanceo
Cuando se actualiza el factor de equilibrio, si se inserta un valor en la rama
ms alta, entonces se rompe el criterio de equilibrio del rbol, pues la
diferencia de altura para a se 2, haciendo necesario reestructurarlo.
Hay cuatro casos que se deben tener en cuenta al reestructurar un nodo A,
segn dnde se haya hecho la insercin.
Insercin en el subrbol izquierdo de la rama izquierda de A.
Insercin en el subrbol derecho de la rama izquierda de A.
Rotacin simple
Tomando en cuenta el siguiente caso:
Movimiento de enlaces
Los cambios descritos en la rotacin simple afectan a dos nodos, el tercero
no se modifica, es necesario solo una rotacin. Para la rotacin simple a la
izquierda, rotacin II, los ajustes necesarios de los enlaces, suponiendo n la
referencia al nodo problema y n1 la referencia al nodo de su rama izquierda,
son:
n.iz = n1.de
n1.de = n
n = n1
Una vez realizada la rotacin, los factores de equilibrio de los nodos que
intervienen siempre son 0, los subrboles izquierdo y derecho tienen la
misma altura. Incluso la altura del subrbol implicado es la misma despus
de la insercin.
Si la rotacin es DD, los cambios en los enlaces del nodo n y del nodo de su
rama recha, n1, son:
n.de = n1.iz
n1.iz = n
n = n1
Rotacin Doble
Ejemplificacin de la necesidad de otro tipo de rotacin
Ejemplo:
Movimiento de enlaces
Para rotacin ID, los movimientos son:
n1.de = n2. iz
n2.iz = n1
n.iz = n2.de
n2.de = n
n = n2
n1.fe = 1
-1
n2.fe = 0
n.de = n2.iz
n2.iz = n
n = n2
-1
n1.fe = 1
n2.fe = 0
Borrado
Se distinguen dos casos:
El nodo a borrar es un nodo hoja, o con un nico descendiente. Entonces,
simplemente se suprime, o bien se sustituye por su nodo descendiente.
El nodo a eliminar tiene dos subrboles. Se procede a buscar el nodo ms a la
derecha del subrbol izquierdo, es decir, el de mayor clave en el subrbol de
menores, ste se copia en el nodo a eliminar y, por ltimo, se retira el nodo
copiado.
Una vez eliminado el nodo, el algoritmo tiene que prever la actualizacin de los
factores de equilibrio de todos los nodos que han formado el camino de bsqueda,
ya que la altura de alguna de las dos ramas ha disminuido. Por consiguiente, se
regresa por los nodos del camino hacia la raz, calculando el factor de equilibrio.
De ser necesario, se hacen las rotaciones pertinentes para mantener el rbol
balanceado.