Algoritmo para encontrar um caminho de Hamilton em um DAG

Estou me referindo ao livro de Skienna sobre algoritmos.

O problema de testar se um gráficoG contém umHamiltonian path éNP-hard, onde um caminho hamiltonianoP é um caminho que visita cada vértice exatamente uma vez. Não tem que haver uma borda em G do vértice final ao vértice inicial de P, ao contrário do problema do ciclo hamiltoniano.

Dado um gráfico acíclico dirigido G (DAG), dê umaO(n + m) algoritmo de tempo para testar se contém ou não um caminho hamiltoniano.

Minha abordagem,

Estou planejando usarDFS eTopological sorting. Mas eu não sabia como conectar os dois conceitos na solução do problema. Como um tipo topológico pode ser usado para determinar a solução.

Alguma sugestão?

questionAnswers(2)

yourAnswerToTheQuestion