Está en la página 1de 13

INTRODUCCION

A lo largo de la historia en el mbito de la informtica se han generado avances que


respondan a la demanda de acumulacin y organizacin de datos, se buscaba la mejor
manera de poder almacenarlas y poder tener una rpida respuesta a la bsqueda de la
misma es as que se generan estructuras y una de ellas es la que veremos a continuacin, el
rbol AVL es un tipo de rbol binario que ofrece una gran alternativa para el
almacenamiento de la informacin.












CONCEPTO
Un rbol AVL es un rbol binario de bsqueda que cumple con la condicin de que la
diferencia entre las alturas de los sub-arboles de cada nodo es como mucho la unidad.
La denominacin de rbol AVL viene dada por los creadores de tal estructura Adelson-
Velskii y Landis.
En este tipo de estructura el tiempo de las operaciones sobre un rbol binario de bsqueda
son O(log n) promedio, pero el peor caso es O(n), donde n es el numero de elementos.
Una de las principales caractersticas es que este rbol binario de bsqueda es uno en el
cual cada nodo cumple con que todos los nodos de su sub-arbol izquierdo son menores que
la raz y todos los nodos de su sub-rbol derecho son mayores que esta.
La propiedad de equilibrio que debe cumplir un rbol para ser AVL, asegura que la
profundidad del rbol sea O(log n), por lo que las operaciones sobre estas estructuras no
debern recorrer mucho para hallar el elemento deseado. Como se ver , el tiempo de
ejecucin de las operaciones sobre estos rboles es , a lo sumo O(log n) en el peor caso,
donde n es la cantidad de elementos del rbol.
Sin embargo y como era de esperarse, esta misma propiedad de equilibrio de los arboles
AVL implica una dificultad a la hora de INSERTAR o ELIMINAR elementos, estas
operaciones pueden no conservar dicha propiedad.












FACTOR DE CORRECCION
Cada nodo, adems de la informacin que se pretenda almacenar, debe tener nuevo: el
factor de equilibrio. los dos punteros a los arboles derecho izquierdo,igual que los ABB, y
adems un miembro
El factor de equilibrio es la diferencia entre las alturas del rbol derecho e izquierdo.
FE= ALTURA DEL SUB-ARBOL DERECHO ALTURA DEL SUB-ARBOL
IZQUIERDO
- Por definicin el factor de equilibrio debe de tener los siguientes valores para
asegurar que el rbol AVL esta equilibrado : 1 , 0 -1


OPERACIONES
BUSCAR UNE ELEMENTO
Cuando se desea buscar un elemento dentro de una estructura, como el rbol AVL en
primer lugar se debe comparar el elemento que se busca con el nodo Raz buscando la
coincidencia de valores, de no ser asi se sigue comparando esta vez para determinar si el
elemento que se busca es mayor o menor que la Raiz para que pase al siguiente nodo en el
sub-rbol derecho o si fuera menor seguir al siguiente nodo del sub-rbol izquierdo hasta
llegar al ltimo nodo en donde, de no hallarse la coincidencia se considerara que el
elemento a buscar no se encuentra dentro de la estructura.

INSERTAR UN ELEMENTO
Para poder insertar un elemento en primer lugar se debe comparar el elemento a insertar
con el nodo raz y determinar si ste es mayor para que pase al siguiente nodo en el sub-
rbol derecho o si fuera menor seguir al siguiente nodo del sub-rbol izquierdo hasta llegar
al ltimo nodo en donde podr almacenarse.
Al insertar un elemento es posible que ste quede desbalanceado para lo cual habr que
volver a equilibrarlo utilizando Rotaciones.


EJEMPLO
A continuacin se presenta la insercin a un rbol AVL (elemento 3).









BORRAR UN ELEMENTO
El procedimiento para borrar un elemento es muy similar al de la Insercin, ya que se debe
comparar el valor del elemento que se desea borrar de modo que si se encuentra la
coincidencia se habr encontrado el elemento que se desea borrar, de otro modo el proceso
de eliminacin quedara sin efecto en la estructura.
EJEMPLO
Si eliminamos del siguiente rbol, el nodo3, el rbol se desequilibra en el nodo2.







Tras aplicar una rotacin simple:







ROTACIONES
El reequilibrado se produce de abajo hacia arriba sobre los nodos en los que se produce el
desequilibrio. Pueden darse dos casos: rotacin simple o rotacin doble.
La rotacin simple a la izquierda tanto como a la derecha se basan en los mismos
principios, y a su vez comparten el mismo procedimiento con la diferencia que una se
desarrolla en el sub-rbol izquierdo y en el sub-rbol derecho respectivamente.

ROTACION SIMPLE A LA DERECHA/IZQUIERDA
De un rbol de raz r y de hijos izquierdo i y derecho d,lo que se hace es formar un
nuevo rbol cuya raz del hijo izquierdo, como hijo izquierdo colocamos el hijo izquierdo
de i y como hijo derecho construimos un nuevo rbol que tendr como raz, la raz del
rbol r, el hijo derecho de i, d ser el hijo izquierdo y el hijo derecho ser el hijo
derecho del rbol d.













Ejemplo:
En el siguiente ejemplo se muestra que el desbalance se halla en el nodo que contiene el
numero 3 .









ROTACION DOBLE A LA DERECHA/IZQUIERDA
Esta rotacin se usar cuando el subrbol izquierdo de un nodo sea 2 unidades ms alto que
el derecho, es decir, cuando su FE sea de -2. Y adems, la raz del subrbol izquierdo tenga
una FE de 1, es decir, que est cargado a la derecha.
Este es uno de los posibles rboles que pueden presentar esta estructura, pero hay otras dos
posibilidades. El nodo R puede tener una FE de -1, 0 1. En cada uno de esos casos los
rboles izquierdo y derecho de R (B y C) pueden tener alturas de n y n-1, n y n, o n-1 y n,
respectivamente.
El modo de realizar la rotacin es independiente de la estructura del rbol R, cualquiera de
las tres produce resultados equivalentes. Haremos el anlisis para el caso en que FE sea -1.
En este caso tendremos que realizar dos rotaciones.
Llamaremos P al nodo que muestra el desequilibrio, el que tiene una FE de -2. Llamaremos
Q al nodo raz del subrbol izquierdo de P, y R al nodo raz del subrbol derecho de Q.
1. Haremos una rotacin simple de Q a la izquierda.
2. Despus, haremos una rotacin simple de P a la derecha.
Con ms detalle, procederemos del siguiente modo:
1. Pasamos el subrbol izquierdo del nodo R como subrbol derecho de Q. Esto
mantiene el rbol como ABB, ya que todos los valores a la izquierda de R siguen
estando a la derecha de Q.
2. Ahora, el nodo R pasa a tomar la posicin del nodo Q, es decir, hacemos que la raz
del subrbol izquierdo de P sea el nodo R en lugar de Q.
3. El rbol Q pasa a ser el subrbol izquierdo del nodo R.
4. Pasamos el subrbol derecho del nodo R como subrbol izquierdo de P. Esto
mantiene el rbol como ABB, ya que todos los valores a la derecha de R siguen
estando a la izquierda de P.
5. Ahora, el nodo R pasa a tomar la posicin del nodo P, es decir, hacemos que la
entrada al rbol sea el nodo R, en lugar del nodo P. Como en los casos anteriores,
previamente, P puede que fuese un rbol completo o un subrbol de otro nodo de
menor altura.
6. El rbol P pasa a ser el subrbol derecho del nodo R.
Imgenes de una rotacin doble a la derecha.








































RECORRIDOS
Los principales recorridos que se ejecutan en los arboles AVL son IN-ORDEN, PRE-
ORDEN Y POST-ORDEN, estos recorridos se diferencian en el orden que visitan y leen la
raz ,sub-rbol izquierdo y sub-rbol derecho.
IN-ORDEN.- Recorrer en in-orden el sub-arbol izquierdo, visitar el elemento de la raz y
luego visitar en in-orden el sub-arbol derecho.
PRE-ORDEN.-Visitar el elemento de la raz, recorrer en pre-orden el sub-arbol izquierdo y
luego recorrer en pre-orden el subrbol derecho.
POST-ORDEN.- Recorrer en post-orden el sub-arbol izquierdo, luego recorrer en post-
orden el subrbol derecho y finalmente visitar el elemento de la raz.














EJEMPLO: en pseudocdigo













EJEMPLO : insercin de un nodo.

También podría gustarte