¿Cómo saber si un árbol está balanceado? – ¡Te lo explico!

Identificar un árbol balanceado

Para poder distinguir un árbol balanceado de uno que no lo es, solo debemos encontrar un nodo con un factor de equilibrio que no sea ni -1, ni 0, ni 1. Si lo encontramos, podremos afirmar que el árbol NO está equilibrado. Ahora te estarás preguntando, ¿y qué es el factor de equilibrio de un nodo? Pues te lo explico de forma fácil.

Factor de equilibrio

El factor de equilibrio de un nodo es:

factor equilibrio = niveles que podemos bajar por la derecha – niveles que podemos bajar por la izquierda

Por ejemplo, el siguiente nodo A, tiene un factor de equilibrio = 2.

En este ejemplo, podemos afirmar que el árbol NO está equilibrado ya que hemos encontrado un nodo (A) con un factor de equilibrio que no es ni -1, ni 0, ni 1.

Veamos ahora este caso:

Ahora el nodo A tiene un factor de equilibrio = 1. ¿Podemos decir que el árbol está balanceado? NO, porque solo hemos comprobado un nodo y, a lo mejor, hay otro que tiene un factor de equilibrio que no está entre [-1, 1].

Resolviendo ejercicio: ¿es el siguiente árbol un árbol balanceado?

Supongamos que nos dan el siguiente árbol binario:

árbol binario de 4 niveles y 8 nodos

Para saber si está equilibrado, deberemos calcular el factor de equilibrio explicado anteriormente por cada nodo y comprobar que esté entre [-1, 1].

árbol junto con su factor de equilibrio por cada nodo

Observamos que el nodo C tiene un factor de equilibrio = 2, por lo tanto, podemos afirmar que el árbol NO está balanceado.

Ejemplos

En esta sección te dejo 2 ejemplos tanto de árboles balanceados como no balanceados. Además, junto a cada nodo está su factor de equilibrio para que puedas comprobar si son o no equilibrados. Si està entre [-1, 1] se marca en verde, si no, se marca en rojo.

Árboles equilibrados

EJEMPLO 1

ejemplo de un árbol balanceado con el factor de equilibrio junto a cada nodo

EJEMPLO 2

ejemplo de un árbol balanceado con el factor de equilibrio junto a cada nodo

Árboles no balanceados

EJEMPLO 1

ejemplo de un árbol no balanceado con el factor de equilibrio junto a cada nodo

EJEMPLO 2

ejemplo de un árbol no balanceado con el factor de equilibrio junto a cada nodo

Deja un comentario

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

Estoy de acuerdo con que el responsable de la web Aprendiz de Programación use los datos proporcionados en este comentario para poder comunicarse de forma efectiva.

Scroll al inicio