SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
Republica Bolivariana de Venezuela
Ministerio del poder popular para la defensa
Universidad Nacional Experimental Politécnica
de la Fuerza Armada Nacional
“U.N.E.F.A” Núcleo Mérida
Mérida edo. Mérida
Autores:
Diaz Arimsay ;C.I:19.751.652
Iglesias José ; C.I:20,364661
Gorrin Jasleny C.I:22.929.641
Es un árbol binario de búsqueda que siempre esta
equilibrado( Condición de Adelson, Velskii y Landis) que
mantienen todas las operaciones que poseen éstos.
Estos arboles no son totalmente equilibrados pero si lo
suficiente como para que su comportamiento sea lo bastante
bueno para ser usado donde los ABB no garantizan tiempos
de búsqueda óptimos.
 Además de la información que
se pretende almacenar, debe
tener los dos punteros a los
árboles derecho e izquierdo,
igual que los ABB, y además un
miembro nuevo: el factor de
equilibrio(es la diferencia entre
las alturas del árbol derecho y el
izquierdo).
FORMULA DEL FACTOR EQUILIBRIO:
FE = altura subárbol derecho - altura subárbol izquierdo;
 El árbol AVL esta equilibrado siempre que la diferencia de altura de
sus hijos no exceda el valor 1 (en valor absoluto).
 La representaciones, interfaz y funciones de abstracción del AVL
son idénticas a las de un árbol ABB. Cambia levemente el
invariante de la representación.
 La inserción de un AVL también es idéntica ABB. Sin embargo tras
realizar esta, hay que verificar que el árbol este equilibrado
comenzando desde el padre del nodo insertado hasta la raíz.
 La eliminación de nodos en un árbol AVL es igual a la de un árbol
de ABB. El nodo eliminado se sustituye por:
* O bien por el mayor de los descendientes a la izquierda.
* O bien por el menor de los descendientes a la derecha.
 El equilibrado comienza a realizarse desde el padre inicial del nodo
seleccionado para cubrir el hueco del nodo eliminado.
^
 ROTACION SIMPLE A LA DERECHA(SD):
Esta rotación se usará cuando el subárbol izquierdo de un
nodo sea 2 unidades más alto que el derecho, es decir, cuando
su FE sea de -2. Y además, la raíz del subárbol izquierdo tenga
una FE de -1 ó 0, es decir, que esté cargado a la izquierda o
equilibrado.
Árbol desequilibrado a la izquierda
 ROTACION SIMPLE A LA IZQUIERDA(SI):
Se trata del caso simétrico del anterior. Esta rotación se
usará cuando el subárbol derecho de un nodo sea 2 unidades
más alto que el izquierdo, es decir, cuando su FE sea de 2. Y
además, la raíz del subárbol derecho tenga una FE de 1 ó 0, es
decir, que esté cargado a la derecha o esté equilibrado.
Árbol desequilibrado a la derecha
 Cada vez que insertemos o eliminemos un nodo en un árbol AVL pueden
suceder dos cosas: En el primer caso que el árbol se mantenga como AVL o
que pierda esta propiedad. En el segundo caso siempre estaremos en uno
de los explicados anteriormente, y recuperaremos el estado AVL aplicando la
rotación adecuada.
 Cada vez que insertemos o eliminemos un nodo deberemos recorrer el
camino desde ese nodo hacia el nodo raíz actualizando los valores de FE de
cada nodo. Cuando uno de esos valores sea 2 ó -2 aplicaremos la rotación
correspondiente.
 Debido a que debemos ser capaces de recorrer el árbol en dirección a la
raíz, añadiremos un nuevo puntero a cada nodo que apunte al nodo padre.
Esto complicará algo las operaciones de inserción, borrado y rotación, pero
facilita y agiliza mucho el cálculo del FE, y veremos que las complicaciones
se compensan en gran parte por las facilidades obtenidas al disponer de
este puntero.
 Los cambios de altura en una rama se producen sólo cuando el FE del nodo
raíz de esa rama ha cambiado de 0 a 1 ó de 0 a -1. En caso contrario,
cuando el FE cambia de 1 a 0 ó de -1 a 0, no se produce cambio de altura.
www.c.conclase.net
www.elrincondelc.com
www.es.tldp.org

Más contenido relacionado

La actualidad más candente (19)

Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceados
 
Arbol aa
Arbol aaArbol aa
Arbol aa
 
Arbol AA
Arbol AAArbol AA
Arbol AA
 
Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibrados
 
Árboles AA
Árboles AAÁrboles AA
Árboles AA
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Arboles Binarios y Arboles Binarios de Busqueda
Arboles Binarios y Arboles Binarios de BusquedaArboles Binarios y Arboles Binarios de Busqueda
Arboles Binarios y Arboles Binarios de Busqueda
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Arboles presentacion
Arboles presentacionArboles presentacion
Arboles presentacion
 
ARBOLES
ARBOLESARBOLES
ARBOLES
 
Árboles Binarios y Grafos
Árboles Binarios  y GrafosÁrboles Binarios  y Grafos
Árboles Binarios y Grafos
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
Arboles v2
Arboles v2Arboles v2
Arboles v2
 
Estructuras no lineales
Estructuras no linealesEstructuras no lineales
Estructuras no lineales
 
Marian lugo
Marian lugoMarian lugo
Marian lugo
 
Iv unidad estructuras no lineales
Iv unidad estructuras no linealesIv unidad estructuras no lineales
Iv unidad estructuras no lineales
 
Arboles TDAS
Arboles TDASArboles TDAS
Arboles TDAS
 

Arboles AVL

  • 1. Republica Bolivariana de Venezuela Ministerio del poder popular para la defensa Universidad Nacional Experimental Politécnica de la Fuerza Armada Nacional “U.N.E.F.A” Núcleo Mérida Mérida edo. Mérida Autores: Diaz Arimsay ;C.I:19.751.652 Iglesias José ; C.I:20,364661 Gorrin Jasleny C.I:22.929.641
  • 2. Es un árbol binario de búsqueda que siempre esta equilibrado( Condición de Adelson, Velskii y Landis) que mantienen todas las operaciones que poseen éstos. Estos arboles no son totalmente equilibrados pero si lo suficiente como para que su comportamiento sea lo bastante bueno para ser usado donde los ABB no garantizan tiempos de búsqueda óptimos.  Además de la información que se pretende almacenar, debe tener los dos punteros a los árboles derecho e izquierdo, igual que los ABB, y además un miembro nuevo: el factor de equilibrio(es la diferencia entre las alturas del árbol derecho y el izquierdo).
  • 3. FORMULA DEL FACTOR EQUILIBRIO: FE = altura subárbol derecho - altura subárbol izquierdo;  El árbol AVL esta equilibrado siempre que la diferencia de altura de sus hijos no exceda el valor 1 (en valor absoluto).  La representaciones, interfaz y funciones de abstracción del AVL son idénticas a las de un árbol ABB. Cambia levemente el invariante de la representación.  La inserción de un AVL también es idéntica ABB. Sin embargo tras realizar esta, hay que verificar que el árbol este equilibrado comenzando desde el padre del nodo insertado hasta la raíz.  La eliminación de nodos en un árbol AVL es igual a la de un árbol de ABB. El nodo eliminado se sustituye por: * O bien por el mayor de los descendientes a la izquierda. * O bien por el menor de los descendientes a la derecha.  El equilibrado comienza a realizarse desde el padre inicial del nodo seleccionado para cubrir el hueco del nodo eliminado.
  • 4. ^  ROTACION SIMPLE A LA DERECHA(SD): Esta rotación se usará cuando el subárbol izquierdo de un nodo sea 2 unidades más alto que el derecho, es decir, cuando su FE sea de -2. Y además, la raíz del subárbol izquierdo tenga una FE de -1 ó 0, es decir, que esté cargado a la izquierda o equilibrado. Árbol desequilibrado a la izquierda
  • 5.  ROTACION SIMPLE A LA IZQUIERDA(SI): Se trata del caso simétrico del anterior. Esta rotación se usará cuando el subárbol derecho de un nodo sea 2 unidades más alto que el izquierdo, es decir, cuando su FE sea de 2. Y además, la raíz del subárbol derecho tenga una FE de 1 ó 0, es decir, que esté cargado a la derecha o esté equilibrado. Árbol desequilibrado a la derecha
  • 6.  Cada vez que insertemos o eliminemos un nodo en un árbol AVL pueden suceder dos cosas: En el primer caso que el árbol se mantenga como AVL o que pierda esta propiedad. En el segundo caso siempre estaremos en uno de los explicados anteriormente, y recuperaremos el estado AVL aplicando la rotación adecuada.  Cada vez que insertemos o eliminemos un nodo deberemos recorrer el camino desde ese nodo hacia el nodo raíz actualizando los valores de FE de cada nodo. Cuando uno de esos valores sea 2 ó -2 aplicaremos la rotación correspondiente.  Debido a que debemos ser capaces de recorrer el árbol en dirección a la raíz, añadiremos un nuevo puntero a cada nodo que apunte al nodo padre. Esto complicará algo las operaciones de inserción, borrado y rotación, pero facilita y agiliza mucho el cálculo del FE, y veremos que las complicaciones se compensan en gran parte por las facilidades obtenidas al disponer de este puntero.  Los cambios de altura en una rama se producen sólo cuando el FE del nodo raíz de esa rama ha cambiado de 0 a 1 ó de 0 a -1. En caso contrario, cuando el FE cambia de 1 a 0 ó de -1 a 0, no se produce cambio de altura.
  • 7.
  • 8.