Hola!
Estoy haciendo una práctica y necesito calcular la altura de un árbol de un nodo determinado (que teóricamente es la distancia más larga del nodo a calcular la altura a un nodo hoja).
Tengo esta funcion pero no me funciona bien:
int AlturaNodo (NodoArbol *p) { /* Calculo altura de un nodo */
int altizq,altder;
if (p == NULL)
return -1; /* altura del arbol vacio */
else {
altizq = AlturaNodo(p->izq); /* Altura del hijo izquierdo */
altder = AlturaNodo(p->der); /* Altura del hijo derecho */
if (altizq > altder)
return altizq+1; /* la mayor altura */
else
return altder+1; /* mas un arco extra */
}
}/*altura nodo*/
Alguna sugerencia,
Gracias, un saludo