Vous êtes sur la page 1sur 15

Arboles AVL

Objetivos:
Entender la importancia que tiene el balanceo en un ABB. Describir las caractersticas de los AVL: balanceo badsado en alturas de subarboles. Definir el factor de balance (FB) de un nodo en un rbol AVL. Rotacin simple y rotacin doble en un rbol AVL.

Estructura de Datos M.C. J. Andrs V. F. FCC/BUAP

Por qu es importante el balanceo en un rbol de bsqueda?


La manera en que los elementos estn distribuidos en un rbol de bsqueda determinar su altura y, en consecuencia, la cantidad de comparaciones a realizar al buscar un elemento (eficiencia).
Lo ideal sera que el rbol tuviera sus elementos distribuidos en forma equilibrada o balanceada, consiguiendo as la mayor eficiencia que ofrece la bsqueda binaria
Estructura de Datos M.C. J. Andrs V. F. FCC/BUAP

Cul es el nmero mximo de comparaciones que se realizan en el peor caso de bsqueda en un ABB?
Anlisis general de la eficiencia de bsqueda en un ABB.
La cantidad mxima de comparaciones al realizar una bsqueda en un ABB est determinada por la altura del rbol.
Si un rbol degenera en una lista, se tiene un rbol cuya altura es igual a la cantidad de nodos en el rbol, y el peor caso corresponder a realizar tantas comparaciones como nodos tenga el rbol.
Estructura de Datos M.C. J. Andrs V. F. FCC/BUAP

Cul es el nmero mximo de comparaciones que se realizan en el peor caso de bsqueda en un ABB?
Qu pasa si el rbol est balanceado?

Si la altura de un ABB determina la cantidad mxima de comparaciones en una busqueda, lo ideal sera tener la altura mnima que puede tener un ABB para n elementos. La altura mnima en un ABB con n elementos se dar en la medida en cada nivel del rbol est integrado a su mxima capacidad
Estructura de Datos M.C. J. Andrs V. F. FCC/BUAP

Cul es el nmero mximo de comparaciones que se realizan en el peor caso de bsqueda en un ABB?

En general, se tiene que el nmero mximo de nodos en el nivel k en un rbil binario es

2k

Con base en esto, se puede encontrar la cantidad total de elementos que puede guardar un rbol binario de altura k.
Estructura de Datos M.C. J. Andrs V. F. FCC/BUAP

Cul es el nmero mximo de comparaciones que se realizan en el peor caso de bsqueda en un ABB?

Por lo tanto se tiene que el nmero maximo de nodos en un rbol binario de altura k es: 2k 1
Estructura de Datos M.C. J. Andrs V. F. FCC/BUAP

Cul es el nmero mximo de comparaciones que se realizan en el peor caso de bsqueda en un ABB?
Ahora bien, si la altura de un ABB determina el nmero mximo de comparaciones al buscar un elemento, cuntas comparaciones se harn al buscar un elemento en un ABB ideal que tiene n elementos?

De acuerdo con el anlisis que hemos hecho, la respuesta se obtiene al encontrar el valor de k, dado el valor de n para la frmula: k

n 2 1

Estructura de Datos M.C. J. Andrs V. F. FCC/BUAP

Cul es el nmero mximo de comparaciones que se realizan en el peor caso de bsqueda en un ABB?
Por lo tanto, despejando k, aplicando las leyes de los logaritmos, se obtiene

k log 2 (n 1)

Entonces, la cantidad mxima de comparaciones a realizar en un ABB ideal de n elementos es:

log 2 (n 1)
En este caso, se puede comprobar que la frmula coincide con la de la bsqueda binaria en un arreglo, si se complementa con la funcin techo: log 2 (n 1)
Estructura de Datos M.C. J. Andrs V. F. FCC/BUAP

Cul es el nmero mximo de comparaciones que se realizan en el peor caso de bsqueda en un ABB?
Lo anterior nos lleva a concluir que, para que el peor caso de una bsqueda en un ABB se cumpla con la mayor eficiencia posible, el ABB debe estar balanceado. Sin embargo, las operaciones de un ABB no aseguran que se cumpla el balanceo, por lo que se necesita una mejora en las operaciones, sin demeritar su eficiencia. Hasta ahora, no se ha encontrado la forma eficiente de mantener un ABB totalmente balanceado.
Estructura de Datos M.C. J. Andrs V. F. FCC/BUAP

Qu es un rbol balanceado?
Se considera que un rbol binario est balanceado cuando todos sus niveles, excepto el ltimo, estn integrados a la mxima capacidad de nodos.

Las investigaciones respecto a esta estructura de datos no han logrado encontrar una tcnica eficiente para manejar rboles de bsqueda completamente balanceados; las propuestas han llegado solo a presentar rboles parcialmente balanceados, sin repercutir la eficiencia de las operaciones de insercin y eliminacin de nodos. La ms comn y usada de las tcnicas es la de los rboles AVL.
Estructura de Datos M.C. J. Andrs V. F. FCC/BUAP

Qu es un rbol AVL?
Un rbol AVL es un rbol binario de bsqueda que trata de mantenerse lo ms balanceado posible, conforme se realizan operaciones de insercin y eliminacin.

Fueron propuestos en 1962 por los matemticos rusos Adelson- Velskii y Landis, de donde surge su nombre.
Su contribucin principal consisti en presentar algoritmos eficientes de insercin y eliminacin de elementos considerando un balanceo en el rbol que, a su vez, repercute en la eficiencia de las bsquedas.
Estructura de Datos M.C. J. Andrs V. F. FCC/BUAP

Qu es un rbol AVL?

Formalmente, en los rboles AVL se debe cumplir el hecho de que para cualquier nodo del rbol, la diferencia entre las alturas de sus subrboles no exceda una unidad

Estructura de Datos M.C. J. Andrs V. F. FCC/BUAP

rboles AVL

Estructura de Datos M.C. J. Andrs V. F. FCC/BUAP

Qu es el factor de balance (FB) de un nodo?


Los nodos de un rbol AVL guardan un valor entre 1 y -1, lo que se conoce como Factor de Balance (FB), y representa la diferencia entre las alturas de sus subrboles. Un FB igual a cero en un nodo significa que las alturas de sus subrboles son iguales; un FB positivo significa que el subrbol derecho es ms grande que el izquierdo, y un FB negativo que el subrbol izquierdo es ms grande que el derecho.
Estructura de Datos M.C. J. Andrs V. F. FCC/BUAP

Arbol AVL con factores de balance en cada nodo.

Estructura de Datos M.C. J. Andrs V. F. FCC/BUAP

Vous aimerez peut-être aussi