Saltar al contenido

Recorrido narrado

AVL y rojinegro

Dos familias de árboles balanceados, con la misma idea: un invariante de balance más rotaciones.

  • AVL: las alturas de los dos subárboles de cada nodo difieren como mucho en 1. Muy equilibrado: búsquedas un poco más rápidas.
  • Rojinegro: cada nodo es rojo o negro; ningún rojo tiene un hijo rojo, y todos los caminos de un nodo a sus hojas tienen los mismos negros. Menos estricto: el camino más largo es como mucho el doble del más corto. Insertar y borrar rotan menos.

En los dos, la altura es O(log n) en el peor caso, sin importar el orden de las claves. Buscar, insertar y borrar cuestan O(log n) en el peor caso.

Implementar un rojinegro completo es largo y delicado. Lo importante para elegir es la garantía: balanceado = O(log n) peor caso; BST sin balance = O(h), con h hasta n.

Su fila en la tabla de costos

Los árboles balanceados (AVL, rojinegro), en las columnas de conjunto y diccionario de la ruta. La condición es el balance: el peor caso ya no depende del orden de las claves.

Representación buscar(k) insertar(k) borrar(k) mínimo sucesor(k) rango(a, b) con r resultados
árbol balanceado (AVL, rojinegro) O(log n) en el peor caso O(log n) en el peor caso O(log n) en el peor caso O(log n) O(log n) O(log n + r)

Lee el recorrido de esta página. Al pasar al siguiente momento, este cuenta como leído.