Hay un problema en el que algunos se refieren a las mismas cosas de manera ambigua.
Estrictamente hablando, un árbol binario perfecto es uno donde se llenan todos los nodos en todos los niveles. No hay lagunas. Pero un árbol completo no tiene esa restricción, su último nivel solo debe llenarse desde la izquierda.
Desafortunadamente, algunos usan los dos nombres para significar lo mismo, indistintamente. Para leer un poco más sobre varios tipos de árboles: Diferencia entre completo, ordenado, completo, estricto, perfecto y equilibrado …
- Entrevista Street puzzle: ¿Pregunta de hormigas en la sección de matemáticas?
- ¿Por qué todavía no tenemos matrimonios estables cuando el problema del matrimonio estable se resolvió en 1962?
- ¿Cómo podría encontrar la métrica correcta que se utilizará para los vecinos más cercanos u otros algoritmos basados en similitudes?
- ¿Cuál es la diferencia entre los siguientes dos fragmentos de código?
- ¿Cuáles son los algoritmos básicos en informática?
Entonces, tomando la definición estricta, sí, un árbol “perfecto” también está completo, pero un árbol completo no es necesariamente perfecto.
Por supuesto … esto solo hace la diferencia en algunos escenarios selectos. Para cosas como los árboles de búsqueda binarios (probablemente la razón más importante por la que los árboles binarios se usan en la programación), rara vez (si alguna vez) es una consideración, estos tienden a depender de árboles ordenados equilibrados sin el requisito estricto de que deben ser completos o perfectos.