6.17. Desempeño de un árbol AVL¶
Antes de continuar, analicemos el resultado de aplicar este nuevo requisito de factor de equilibrio. Nuestra afirmación es que al garantizar que un árbol tenga siempre un factor de equilibrio de -1, 0 ó 1, podremos obtener un mejor desempeño de las operaciones clave. Comencemos por pensar en cómo esta condición de equilibrio cambia al árbol del peor de los casos. Hay dos posibilidades a considerar, un árbol pesado a la izquierda y un árbol pesado a la derecha. Si consideramos árboles de alturas 0, 1, 2 y 3, la Figura 2 ilustra el árbol más desequilibrado y pesado a la izquierda posible bajo las nuevas reglas.

Figura 2: Árboles AVL pesados a la izquierda del peor caso¶
Figura 2: Árboles AVL pesados a la izquierda del peor caso
Observando el número total de nodos en el árbol vemos que para un árbol de altura 0 hay 1 nodo, para un árbol de altura 1 hay
Esta recurrencia quizás le parezca familiar porque es muy similar a la secuencia de Fibonacci. Podemos utilizar este hecho para derivar una fórmula para la altura de un árbol AVL dado el número de nodos en el árbol. Recordemos que, para la secuencia de Fibonacci, el
Un resultado matemático importante es que a medida que los números de la secuencia de Fibonacci se hacen más y más grandes, la relación de
Al reemplazar la referencia de Fibonacci por su aproximación de la proporción áurea obtenemos:
Si reordenamos los términos y tomamos el logaritmo en base 2 de ambos lados y luego despejamos
Esta derivación nos muestra que en cualquier momento la altura de nuestro árbol AVL es igual a una constante (1.44) veces el logaritmo del número de nodos en el árbol. Ésta es una gran noticia para buscar en nuestro árbol AVL porque limita la búsqueda a