나는 Skienna의 알고리즘에 관한 책을 언급하고 있습니다.DAG에서 해밀턴 경로를 찾는 알고리즘
그래프 G
가 Hamiltonian path
를 포함하는지 여부를 테스트 문제는 해밀턴 경로 P
회만 각 정점을 방문하는 경로는 NP-hard
이다. 해밀턴 순환 문제와는 달리 종점에서 P의 시작 꼭지점까지 G에서 모서리가있을 필요는 없습니다.
지향 비순환 그래프 G (DAG
)가 주어진 경우, 해밀 토니안 경로가 포함되어 있는지 여부를 테스트하기 위해 O(n + m)
시간 알고리즘을 제공하십시오.
내 접근,
나는 DFS
및 Topological sorting
을 사용할 계획입니다. 그러나 문제를 푸는 두 가지 개념을 어떻게 연결해야할지 몰랐습니다. 어떻게 토폴로지 정렬을 사용하여 솔루션을 결정할 수 있습니까?
제안 사항?
@Peter Ivanov 고맙습니다! – user2302617
그러나 그래프가 연결되어 있다고 가정했는데, 연결이 끊긴 그래프에 대한 위상적인 정렬이있을 수 없습니까? – shinzou
그래프가 연결되어 있다고 가정하지 않습니다. 그래프가 연결되어 있지 않으면 해밀턴이 없으며 적어도 하나의 연속 된 꼭지점이 연결되지 않기 때문에이 알고리즘이이를 감지합니다 (그렇지 않으면 그래프가 연결될 것입니다).). –