Cita:
Iniciado por bulter Bueno dejemos lo de lo supuestos, que tu ves un arbol/graph yo otro :/
Y el algoritmo no es 1 unico pueden ser varios. Teniendo un arbol tal y como lo tengo en el dibujo como buscarias tu la ruta mas larga ?
No es necesario hacer un bucle de recursiones.Con una recursión es bastante.
La "ley" del problema sería que los extremos del camino más largo, van a ser 2 hojas.
El matiz que hay que tener en cuenta , es que dado un nodo que no sea una hoja,
debajo de él pueden estar, 0, 1 o
2 de los extremos del camino más largo.
Así que en cada llamada recursiva, no es bastante con devolver el camino a la hoja más alejada, sino el camino más largo que una a dos hojas bajo ese nodo.
Generalizando, al llegar al root, se tendrá el camino más largo que una a dos hojas bajo ese nodo, que es el camino más largo total.