1. 개념
위 그래프는 큰 그래프를 3개의 SCC(Strongly Connected Component)로 분할한 것을 보여준다.
SCC는 일종의 서브그래프로, 하나의 SCC안에 있는 어떤 두 정점 u,v를 고르면
SCC 내부에서 u에서 v로 가는 직/간접적인 경로가 존재하는 것을 뜻한다.
또한, SCC는 maximal한 성질을 가져서 가능한 SCC가 커야한다.
위 그래프에서 오른쪽의 SCC인 {c,d,h}의 하위 집합 중 {c, d} 또한 SCC의 첫번째 성질은 만족하지만,
정점 h를 추가해도 여전히 성질이 만족하므로 h는 반드시 추가되어야한다는 뜻이다.
즉, 유향 그래프에서는 항상 파티션을 분할해 SCC를 만들 수 있고, O(n)안에 모든 SCC를 분리하는 것이 가능하다.
*출처 : http://blog.naver.com/PostView.nhn?blogId=kks227&logNo=220802519976
[강한 연결 요소 예제 : http://gyutts.tistory.com/79]
'Programming > Algorithm' 카테고리의 다른 글
라빈 카프 알고리즘(Rabin-Karp Algorithm) (0) | 2018.08.09 |
---|---|
문자열 검색 알고리즘(KMP) (0) | 2018.08.08 |
위상정렬(topological sorting) (1) | 2018.07.16 |
이분 매칭(Bipartite Matching) (0) | 2018.07.13 |
플로이드 와샬 알고리즘(Floyd-Warshall Algorithm) (0) | 2018.07.10 |