in

Definición de un árbol equilibrado

apple touch icon@2

Hay varias formas de definir «equilibrado». El objetivo principal es mantener las profundidades de todos los nodos O(log(n)).

Me parece que la condición de equilibrio de la que hablabas es para Árbol AVL.
Aquí está la definición formal de Condición de equilibrio del árbol AVL:

Para cualquier nodo en AVL, la altura de su subárbol izquierdo difiere por a lo sumo 1 desde la altura de su subárbol derecho.

Siguiente pregunta, ¿qué es «altura«?

Los «altura«de un nodo en un árbol binario es la longitud del camino más largo desde ese nodo hasta una hoja.

Hay un caso extraño pero común:

La gente define la altura de un árbol vacío como (-1).

Por ejemplo, el hijo izquierdo de root es null:

              A  (Height = 2)
           /     
(height =-1)       B (Height = 1) <-- Unbalanced because 1-(-1)=2 >1
                    
                     C (Height = 0)

Dos ejemplos más para determinar:

Sí, Un árbol equilibrado Ejemplo:

        A (h=3)
     /     
 B(h=1)     C (h=2)        
/          /   
D (h=0)  E(h=0)  F (h=1)
               /
              G (h=0)

No, No es un árbol equilibrado Ejemplo:

        A (h=3)
     /     
 B(h=0)     C (h=2)        <-- Unbalanced: 2-0 =2 > 1
           /   
        E(h=1)  F (h=0)
        /     
      H (h=0)   G (h=0)      

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Spring Framework – Descripción general

eHiHheSvBKEYApSGnxWxxh 1200 80

Mejores delanteros jóvenes de FIFA 20: 10 delanteros wonderkid para fichar en el modo carrera