Mam drzewo (w sensie teorii grafów), takie jak następujący przykład:
Jest to ukierunkowane drzewo z jednym węzłem początkowym (korzeń) i wieloma końcowymi węzłami (liście). Każda krawędź ma przypisaną długość.
Moje pytanie brzmi: jak znaleźć najdłuższą ścieżkę, zaczynając od korzenia i kończąc na którymś z liści? Podejście brutalnej siły polega na sprawdzeniu wszystkich ścieżek liści korzenia i wybraniu ścieżki o maksymalnej długości, ale wolałbym bardziej wydajny algorytm, jeśli taki istnieje.