You are on page 1of 32

RBOLES

El rbol es una estructura muy usada en todos los mbitos de la informtica ya que se adapta a la representacin natural de informaciones homogneas organizadas y de una gran comodidad y rapidez de manipulacin. Las estructuras tipo rbol se usan para representar datos con una relacin jerrquica entre sus elementos, como son rboles genealgicos, tablas, etc.

RBOLES
Un rbol se define como un conjunto finito de uno o ms nodos relacionados de la siguiente forma: Hay un nodo especial llamado raz del rbol, que proporciona un punto de entrada a la estructura. Los nodos restantes se subdividen en conjuntos disjuntos, cada uno de los cuales es a su vez un rbol. (Recursividad) Estos rboles se llaman subrboles del raz.

RBOLES
La representacin y terminologa de los rboles se realiza con las tpicas notaciones de las relaciones familiares en los rboles genealgicos: padre, hijo, hermano, ascendiente, descendiente. Junto a estos conceptos se definen otros tales como raz, nodo, hoja, camino, nivel, profundidad, etc.

LONGITUD DE CAMINOS INTERNO Y EXTERNO

Se define como la longitud de camino del nodo X como el numero de arcos q se deben recorrer para llegar desde la raz hasta el nodo X. La raz tiene longitud de camino 1, sus descendientes directos longitud de camino 2 y as sucesivamente.

Su formula es: LCI = i: representa el nivel del rbol. h: altura del rbol. : el numero de nodos en el nivel i.

La media de la longitud del camino interno (LCIM) se calcula dividiendo la LCI entre el numero de nodos del rbol (n). La media es importante porque permite conocer, en promedio, el numero de decisiones que se deben tomar para llegar a un determinado nodo partiendo desde la raz. LCIM = LCI/n

LONGITUD DE CAMINO EXTERNO


Un rbol extendido es aquel en el que el numero de hijos de cada nodo es igual al grado del rbol. Si alguno de los nodos del rbol no cumple con esta condicin, entonces deben incorporarse al mismo tantos nodos especiales como se requiera para llegar a cumplirla.

Los nodos especiales tienen como objetivo remplazar las ramas vacas o nulas, no pueden tener descendientes y normalmente se representan con la forma de un cuadrado. La longitud de camino externo (LCE) de un rbol como la suma de las longitudes del camino de todos los nodos especiales del rbol.

Su formula es: LCE = i: representa el nivel del rbol. h: altura del rbol. : el numero de nodos especiales en el nivel i.

La media de la longitud de camino externo (LCEM) se calcula dividiendo LCE entre el numero de nodos especiales (ne). LCEM = LCE/ne

rbol AVL: Es un tipo especial de rbol binario ideado por los matemticos rusos Adelson-Velskii y Landis. Fue el primer rbol de bsqueda binario autobalanceable que se ide. (AVL) Adelson-Velskii y Landis

Caractersticas:
*Estn siempre equilibrados de tal modo que para

todos los nodos, la altura de la rama izquierda no difiere en ms de una unidad de la altura de la rama derecha o viceversa *La complejidad de una bsqueda en uno de estos rboles se mantiene siempre en orden de complejidad O(log n) *La insercin y el borrado de los nodos se ha de realizar de una forma especial. Si al realizar una operacin de insercin o borrado se rompe la condicin de equilibrio, hay que realizar una serie de

Factor de equilibrio
El factor de equilibrio es la diferencia entre las alturas del rbol derecho y el izquierdo: FE = altura subrbol derecho - altura subrbol izquierdo; Por definicin, para un rbol AVL, este valor debe ser -1, 0 1.

Si el factor de equilibrio de un nodo es: 0 -> el nodo est equilibrado y sus subrboles tienen exactamente la misma altura. 1 -> el nodo est desequilibrado y su subrbol derecho es un nivel ms alto. -1 -> el nodo est desequilibrado y su subrbol izquierdo es un nivel ms alto. Si el factor de equilibrio Fe 2 o Fe -2 es necesario reequilibrar.

Insercin
La insercin en un rbol de AVL puede ser realizada insertando el valor dado en el rbol como si fuera un rbol de bsqueda binario desequilibrado y despus retrocediendo hacia la raz, rotando sobre cualquier nodo que pueda haberse desequilibrado durante la insercin. Proceso de insercin:

1.buscar hasta encontrar la posicin de insercin o modificacin (proceso idntico a insercin en rbol binario de bsqueda) 2.insertar el nuevo nodo con factor de equilibrio e equilibradof 3.desandar el camino de bsqueda, verificando el equilibrio de los nodos, y re-equilibrando si es necesario

ROTACIONES
Para conseguir esta propiedad de equilibrio, la insercin y el borrado de los nodos se ha de realizar de una forma especial. Si al realizar una operacin de insercin o borrado se rompe la condicin de equilibrio, hay que realizar una serie de rotaciones de los nodos. 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; a su vez ambos casos pueden ser hacia la derecha o hacia la izquierda.

ROTACIN SIMPLE A LA DERECHA


De un rbol de raz (r) y de hijos izquierdo (i) y derecho (d), lo que haremos ser formar un nuevo rbol cuya raz sea la raz del hijo izquierdo, como hijo izquierdo colocamos el hijo izquierdo de i (nuestro 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).

ROTACIN SIMPLE A LA IZQUIERDA


De un rbol de raz (r) y de hijos izquierdo (i) y derecho (d), consiste en formar un nuevo rbol cuya raz sea la raz del hijo derecho, como hijo derecho colocamos el hijo derecho de d (nuestro d) y como hijo izquierdo construimos un nuevo rbol que tendr como raz la raz del rbol (r), el hijo izquierdo de d ser el hijo derecho (i) y el hijo izquierdo ser el hijo izquierdo del rbol (i). Precondicin : Tiene que tener hijo derecho no vaco.

ROTACIN DOBLE A LA DERECHA


Si la insercin se produce en el hijo derecho del hijo izquierdo del nodo desequilibrado (o viceversa) hay que realizar una doble rotacin

ROTACIN DOBLE A LA IZQUIERDA

COMPORTAMIENTO DE UN ALGORITMO
El numero de veces que el procedimiento inserta se llama a si mismo recursivamente para insertar un nuevo nodo puede tener la misma extensin que la altura del rbol. A primera vista puede parecer que cada llamada podra provocar una rotacin del subrbol correspondiente, aunque de hecho a lo mximo se har una sola rotacin. Esto porque las rotaciones solo se realizan cuando llamamos los procedimientos de balance y que estos procedimientos se les llama solo cuando la altura de un rbol ha aumentado. Cuando dichos procedimientos retornan, las rotaciones ya han eliminado el incremento de altura, por lo cual en las restantes llamadas recursivas la altura no ha aumentado y tampoco se hacen mas rotaciones.

ELIMINACIN DE UN NODO EN UN ARBOL AVL

La operacin de eliminacin consiste en eliminar un nodo con cierta clave de un rbol de bsqueda equilibrado. El algoritmo de eliminacin puede descomponerse en dos partes diferenciadas. 1- Estrategia de la eliminacin en rboles de bsqueda 2- Actualizacin del factor de equilibrio

EJEMPLO:

ALGORITMO PARA ELIMINAR UN NODO DE UN ARBOL EQUILIBRADO


En el algoritmo para eliminar un nodo que contiene una cierta clave de un rbol de bsqueda lo primero que se hace es buscar, para lo que se sigue el camino de bsqueda. A continuacin se procede a eliminar el nodo, se distinguen los siguientes casos. El nodo a borrar es un nodo hoja, o con un nico descendiente. El nodo a eliminar tiene dos subrboles

Una vez eliminado el nodo, el algoritmo tiene que prever actualizar los factores de equilibrio de los nodos que han formado el camino de bsqueda ya que la altura de alguna de las dos ramas ha decrecido.

ALTURA DE UN RBOL AVL


No resulta fcil determinar la altura promedio de un rbol AVL, por lo que se determina la altura en el peor de los casos, es decir, la altura mxima que puede tener un rbol equilibrado con un nmero de nodos n. La altura es un parmetro importante ya que coincide con el nmero de iteraciones que se realizan para bajar desde el nodo raz al nivel ms profundo de las hojas. La construccin de rboles binarios equilibrados siguiendo esta estrategia puede representarse matemticamente:

La expresin matemtica expuesta tiene una gran similitud con la ley de recurrencia que permite encontrar nmeros de Fibonacci, an = an _ 1 + an _ 2 Por esa razn a los rboles equilibrados construidos con esta ley de formacin se les conoce como rboles de Fibonacci.

RBOL DE FIBONACCI
El estudio matemtico de la funcin generadora de los nmeros de Fibonacci permite encontrar esta relacin:

Tomando logaritmos se encuentra la altura h en funcin del nmero de nodos, N h :

La altura de un rbol binario perfectamente equilibrado de n nodos en log n. las operaciones que se aplican a los arboles AVL no requieren ms de 44% de tiempo (en el caso ms desfavorable) que si se aplican a un rbol perfectamente equilibrado.

..YA SE ACABO

You might also like