¿Qué es el árbol binario casi completo?

Árbol binario

Un árbol cuyos elementos tienen como máximo 2 hijos se llama árbol binario. Dado que cada elemento en un árbol binario puede tener solo 2 elementos secundarios, generalmente los denominamos elementos secundarios izquierdo y derecho.

Árbol binario casi completo

Un árbol binario de profundidad d está casi completo si:

1. El árbol es el árbol binario completo (todos los nodos) hasta el nivel (d-1).

2. En el nivel d (es decir, el último nivel), si hay un nodo presente, entonces todos los nodos a la izquierda de ese nodo también deberían estar presentes.

Por ejemplo, el siguiente es un árbol binario casi completo

N = NULL

1
/ \
2 3
/ \ / \
4 5 6 N
(no hay nodos nulos entre 4,5,6)

Debajo no hay un árbol binario casi completo
1
/ \
2 3
/ \ / \
4 N 6 N
(hay un nodo nulo entre 4 y 6)

El árbol binario casi completo no es diferente del árbol binario completo, excepto que tiene las siguientes dos restricciones:

  1. En cada nodo después de completar el nivel actual solo vaya al siguiente nivel.
  2. En cada nodo después de completar el nodo izquierdo, vaya a la derecha.

Cada fórmula que sea aplicable al árbol binario completo será aplicable al árbol binario casi completo.

La única diferencia es que hay una brecha en el último nivel de derecha a izquierda en un árbol binario casi completo. Si no hay espacio, entonces es el árbol binario completo.

Una definición algo informal:

Un árbol binario que cumple las siguientes condiciones.
1) Es un árbol binario completo hasta el nivel L-1 (todos los niveles del 1 al L-1 se llenan completamente sin espacios)
2) Si existe un nodo en el nivel L, todos los nodos L-1 a su izquierda son árboles binarios completos.

Un árbol binario de profundidad d es un árbol binario casi completo si:

  • Cada hoja del árbol está en el nivel d o en el nivel d – 1.
  • Para cualquier nodo nd en el árbol con un descendiente derecho en el nivel d , todos los descendientes izquierdos de nd que son hojas también están en el nivel d . Esto significa que los nodos deben estar presentes de izquierda a derecha en cualquier nivel, no debería faltar nodo en el recorrido.

Un árbol binario casi completo será lo mismo que un árbol binario completo, excepto que el último nivel de las hojas no estará lleno. Además, si hay un nodo / hoja derecho, entonces debe haber un nodo / hoja izquierdo. El mismo requisito no se aplica si hay un nodo / hoja izquierda.