위상정렬을 하기 위해서는 인접리스트(Adjacency list)를 사용할 줄 알아야한다. Node 서로의 관계를 나타내기 위해 인접리스트를 사용하기 때문이다. (위 이미지 참고)
indegree = 들어오는 간선
outdegree = 나가는 간선
list: indegree << 각 node의 차수를 나타내기 위함
list/queue : queue << 정렬을 위해 들어가게 되는 큐
list: Graph << 각 Node간, 연결상태를 나타내주기 위함
list: result << queue에서 빠져나온 것들을 담아주기 위함. 다른 처리를 하여 result에 저장하기도 함
어려움: https://www.acmicpc.net/problem/2637
쉬움: https://www.acmicpc.net/problem/2252