La altura de un árbol binario es la distancia desde el nodo raíz al nodo hijo que está más alejado de la raíz.
A continuación se muestra un ejemplo:
2 <-- root: Height 1
/ \
7 5 <-- Height 2
/ \ \
2 6 9 <-- Height 3
/ \ /
5 11 4 <-- Height 4
Altura del árbol binario: 4
Definición de un árbol binario
Un árbol es un objeto que contiene un valor entero con signo y otros dos árboles o punteros a ellos.
La estructura de la estructura del árbol binario se parece a la siguiente:
typedef struct tree
{
struct tree * l;
struct tree * r;
int v;
} tree;
El reto:
Entrada
La raíz de un árbol binario.
Salida
El número que representa la altura de un árbol binario.
Suponiendo que se le da la raíz de un árbol binario como entrada, escriba el programa más corto que calcule la altura de un árbol binario y devuelva la altura. El programa con la menor cantidad de bytes (espacios en blanco de contabilidad) gana.
h
. Podría ser mejor definir una estructura específica hecha solo de listas para el propósito de este desafío.
[root_value, left_node, right_node]
donde cada uno de los árboles binarios left_node
y right_node
también son aceptables? Será trivial en muchos idiomas, pero puede ser divertido en otros.
a tree is an object that contains a value and either two other trees or pointers to them
. Una definición que incluya lenguajes sin objetos también sería buena también.