He visto dos definiciones de árboles binarios equilibrados, que me parecen diferentes.
Un árbol binario se equilibra si para cada nodo mantiene que el número de nodos internos en el subárbol izquierdo y el número de nodos internos en el subárbol derecho difieren en como máximo 1.
Un árbol binario está equilibrado si para cualquiera de las dos hojas la diferencia de profundidad es como máximo 1.
¿Cada árbol que satisface def. 1 también satisface def. 2? ¿Qué pasa al revés?
data-structures
binary-trees
Forrest Gump
fuente
fuente
Respuestas:
La definición 1. también se conoce como equilibrio de peso ¹ y la definición 2. como equilibrio de altura .
El equilibrio de altura no implica equilibrio de peso; ejemplos son AVL- y Red-Black-Trees. Ver aquí y aquí para pruebas, respectivamente.
Sin embargo, el equilibrio de peso implica equilibrio de altura. Esto se puede demostrar mostrando el siguiente hecho más fuerte por inducción (sobre la altura): un árbol con equilibrio de peso está completo en todos los niveles excepto en el más profundo². El argumento esencial en el paso inductivo es que los subárboles no pueden tener una diferencia de altura de más de uno porque, ambos teniendo la propiedad reclamada por hipótesis de inducción, no estarían equilibrados en peso.
fuente