-
[알고리즘] 사이클 여부 판별하기알고리즘 2025. 3. 26. 15:45
사이클 판별을 union find랑 dfs 두 방법으로 풀 수 있다.
이때 방향 그래프 여부에 따라 푸는 방법이 달라질 수 있다.
방향 그래프일 경우에는 연결되어있다고 사이클이 만들어지는 것이 아니기 때문이다!
사이클에 대한 최단경로를 플로이드워셜로도 구할 수 있다.
dp[A][B] + dp[B][A] 경로를 더하면 노드 A가 포함된 사이클의 최단경로가 되기 때문이다!
사이클 판별 문제들 모음
https://www.acmicpc.net/problem/20040
https://www.acmicpc.net/problem/10451
https://www.acmicpc.net/problem/5107
플로이드워셜로도 사이클을 구할 수 있다.
'알고리즘' 카테고리의 다른 글
최장 증가 부분 수열 + 역추적 (0) 2025.07.28 최장 증가 부분 수열 (0) 2025.07.25 DFS BFS 시간복잡도 (0) 2025.01.29 0-1 배낭문제 (0-1 knapsack problem) (0) 2024.02.19 다익스트라 vs 플로이드-워셜 (0) 2024.02.17