Ho un albero (nel senso della teoria dei grafi), come nel seguente esempio:
Questo è un albero diretto con un nodo iniziale (la radice) e molti nodi finali (le foglie). A ciascun bordo è assegnata una lunghezza.
La mia domanda è: come trovare il percorso più lungo che inizia alla radice e termina in una delle foglie? L'approccio della forza bruta è quello di controllare tutti i percorsi foglia-radice e prendere quello con la massima lunghezza, ma preferirei un algoritmo più efficiente se ce n'è uno.