Strongly Connected Component

SCC는 강한연결요소라고 합니다.

SCC는 방향그래프에서의 노드들의 부분집합으로, 한 SCC에 속하는 노드들끼리는 사이클이 존재합니다.

한 SCC에 속하는 임의의 두 노드 u, v에 대해 u에서 v로의 경로와, v에서 u로의 경로가 존재합니다.

모든 노드는 최소한 자기자신이 SCC에 속합니다.

stack으로 위상정렬

그래프를 DFS 하면서 현재 노드에서 연결된 모든 노드를 방문한 후 마지막에 현재 노드를 스택에 저장하면,

스택에는 그래프의 위상정렬의 역순으로 저장되어 있습니다.

역방향 그래프

원래 그래프의 모든 엣지의 방향을 반대로 한 그래프를 역방향 그래프라고 합니다.

원 그래프의 위상정렬의 역순으로 역방향 그래프를 방문하면 SCC의 원소들을 방문하게 됩니다.

구현

+ Recent posts