Tôi có một cây (theo nghĩa lý thuyết đồ thị), chẳng hạn như ví dụ sau:
Đây là một cây được định hướng với một nút bắt đầu (gốc) và nhiều nút kết thúc (các lá). Mỗi cạnh có một chiều dài được gán cho nó.
Câu hỏi của tôi là, làm thế nào để tìm ra con đường dài nhất bắt đầu từ gốc và kết thúc ở bất kỳ lá nào? Cách tiếp cận brute-force là kiểm tra tất cả các đường dẫn gốc và lấy đường dẫn có độ dài tối đa, nhưng tôi thích thuật toán hiệu quả hơn nếu có.