Hard deck/Module

topology sort

서버관리자 페페 2022. 8. 15. 03:23

- 사이클이 없는 방향 그래프에서 노드 순서를 찾는 알고리즘

- 우선 순위와 관련

- 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