위상 정렬 / BOJ 2252번 줄세우기
·
Study/알고리즘
정의유향 그래프의 정점을 간선의 방향에 거스르지 않도록 나열하는 것ex) 대학 선수 과목: 특정 과목들을 수강해야 할 때 선수 과목이 있다면 위상 정렬을 통해 올바른 수강 순서를 찾을 수 있음모든 유한 부분 순서 집합은 유향 그래프 G = (V,E)로 나타낼 수 있으므로,해당 그래프의 모든 간선 e = (u,v)에 대해 u가 v보다 앞에 위치하도록 만드는 과정을 위상 정렬이라고 한다.단, 유향 그래프 G는 DAG(유향 비순환 그래프)일 때만 위상 정렬이 성립한다. 사이클이 있는 그래프는 진입 차수가 0이 될 수 없기 때문에 위상 정렬이 불가능하다. 알고리즘위상 정렬은 꼭지점의 양수 노드의 선형 실행 시간을 갖는다O(|V| + |E|) Kahn 알고리즘모든 정점의 진입 차수를 계산한다.그래프 입력 시, 간..