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