Я имею в виду книгу Скиенны по алгоритмам.
Проблема проверки того, содержит ли граф G
вершину Hamiltonian path
, заключается в NP-hard
, где гамильтонов путь P
— это путь, который посещает каждую вершину ровно один раз. В G не обязательно должно быть ребро от конечной вершины до начальной вершины P , в отличие от проблемы гамильтонова цикла.
Для заданного ориентированного ациклического графа G (DAG
) задайте O(n + m)
временной алгоритм, чтобы проверить, содержит ли он гамильтонов путь.
Мой подход,
Я планирую использовать DFS
и Topological sorting
. Но я не знал, как соединить два понятия в решении задачи. Как можно использовать топологическую сортировку для определения решения.
Какие-либо предложения?