Eu tenho uma árvore (no sentido da teoria dos grafos), como no exemplo a seguir:
Esta é uma árvore direcionada com um nó inicial (a raiz) e muitos nós finais (as folhas). Cada borda tem um comprimento atribuído a ela.
Minha pergunta é: como encontrar o caminho mais longo começando na raiz e terminando em qualquer uma das folhas? A abordagem da força bruta é verificar todos os caminhos da folha da raiz e seguir o caminho com comprimento máximo, mas eu preferiria um algoritmo mais eficiente, se houver um.