코사라주 알고리즘 - SCC 알고리즘
최근 SCC에 대해 공부하면서 SCC를 구하는 알고리즘은 대표적으로 지난번 공부한 타잔 알고리즘과 코사라주 알고리즘이 있다는 것을 알게 되었습니다. 절대 타잔 알고리즘이 복잡해서가 아니고, 순수하게 학문적인 호기심이 들어서 코사라주 알고리즘을 공부해 보기로 하였습니다. 그럼 아래 그래프의 SCC를 코사라주 알고리즘을 통해 구해보도록 하겠습니다.우선 DFS의 진행 순서를 생각해 보면 1, 2, 3, 4, 5 입니다. 그럼 함수가 종료되는 (탐색이 끝난 노드?) 순서를 생각해보면 4, 3, 5, 2, 1 이렇게 되겠네요. 여기서 주목해야 할 부분은 2입니다. 위 탐색에서 2번 노드에서 갈 수 있는 노드들은 모두 2번 노드보다 빨리 함수가 종료되게 됩니다. (4, 3, 5 노드) 이제 역방향 그래프가 필요합니..
2024. 8. 6.