Visualizador de árboles BST / AVL
Inserta valores y observa cómo crece el árbol. Cambia al modo AVL para ver el reequilibrio automático.
Logarithmic Efficiency in Tree Structures 🖖
Binary Search Trees mandate a strict hierarchical organization, ensuring left-child nodes hold lesser values. AVL trees enhance this by algorithmically enforcing a maximum height differential of one between subtrees. This mathematical self-balancing requires precise rotational transformations upon insertion or deletion. Such structural constraints guarantee search, insertion, and deletion operations remain bounded by O(log n) time complexity, optimizing rapid data retrieval.
Cada paso descarta la mitad 🖖
Un árbol binario de búsqueda funciona como buscar una palabra en el diccionario: en cada nodo comparas y descartas de inmediato toda la mitad que no puede contener tu valor. Por eso un árbol bien formado encuentra cualquier valor entre un millón de entradas en unas 20 comparaciones. Pero la forma depende por completo del orden de inserción: introduce los valores ya ordenados (10, 20, 30, …) y observa cómo el árbol se derrumba en una única línea inclinada, tan lenta como recorrer una lista uno por uno.
El número áureo se esconde en los árboles AVL 🖖
Cambia al modo AVL y pregunta: ¿cuánto puede crecer en altura un árbol equilibrado para un número dado de nodos? La respuesta esconde el número áureo. El árbol AVL válido más disperso de cada altura es un árbol de Fibonacci, formado por dos árboles de Fibonacci más pequeños, de modo que sus cantidades de nodos siguen la sucesión de Fibonacci. Por eso la cota de altura lleva la constante 1.44: es exactamente 1 / log₂(φ), con φ ≈ 1.618, el número áureo.
Problemas de ejemplo
- Equilibrado - BST equilibrado con 7 nodos
- Degenerado - BST degenerado (lista enlazada)
- Reequilibrio AVL - El árbol AVL se autoequilibra al insertar
- Antes de eliminar - BST antes de eliminar la raíz