- 사이클이 없는 방향 그래프에서 노드 순서를 찾는 알고리즘
- 우선 순위와 관련
- ArrayList<node>[N]을 사용
1 :
진입 차수(in-degree)
- indegree D[N]을 만든다
- 인접 리스트에서 노드와 edge 값이 할당되면, 에지인 D[i] 값을 올려준다(D[i]++;)
2 :
cycle unit
진입 차수가 0인 노드를 Queue에 저장한다
해당 노드와 연결된 edge의 D[i]를 1씩 감소시킨다(D[i]--;)
3 :
다음 노드인 2를 선택
모든 노드가 정렬될 때까지 반복
4 :
정렬 결과를 출력
'Hard deck > Module' 카테고리의 다른 글
Bellman-ford-moore (0) | 2022.08.17 |
---|---|
Dijkstra (0) | 2022.08.15 |
union-find (0) | 2022.08.15 |
3가지 그래프 표현 (0) | 2022.08.15 |
다중 공간 추측하기 (0) | 2022.08.06 |