<aside> 💡 참고하여 작성함 → https://yjg-lab.tistory.com/188

</aside>


<aside> 💡 SCC(Strongly-connected-component)의 한 종류인 타잔의 방법에 대한 정리

</aside>

정의 : 방향성이 있는 유향 그래프에서 모든 정점이 다른 모든 정점들에 의해 방문할 수 있는 경우

즉, 어떤 두 정점 간의 경로가 존재하는 경우 SCC가 성립한다고 함

스크린샷 2023-01-17 오후 4.40.06.png

타잔의 알고리즘 : DFS를 실행하고 스택을 사용하여 SCC를 알아내는 방법


스크린샷 2023-01-17 오후 4.43.19.png

DFS 실행 순서는 vertex_Num [1 → 2 → 3 → 4 → 8 → 7 → 6 → 5]

DFS를 실행하면서 아직 방문하지 않은 정점에 고유한 id를 넣어줌(방문순서)

정점에 방문할 때 마다 해당 정점을 스택에 삽입


실행 순서

스크린샷 2023-01-17 오후 4.56.05.png

  1. DFS를 실행하여 1 → 2 → 3 → 4 → 8 까지 실행해주었음
  2. 8번 노드는 방문할 수 있는 노드가 4번(부모)노드 뿐 이므로 SCC의 발견 조건에 부합하지 않음 → 종료

스크린샷 2023-01-17 오후 7.11.01.png

  1. 4번노드도 부모노드인 3번(부모)노드로 가는 간선 뿐 이므로 종료