사이클이 없는 방향 그래프에서 작업의 순서가 정해져 있을 때 작업을 정확하게 정렬해주는 알고리즘이다.
즉, 시작점이 존재해야만 하고 순서가 정해져있는 작업을 차례로 수행해야할 때 그 순서를 결정해야할 때 사용하는 알고리즘이다.
Queue를 사용하는 방식과 Stack을 사용하는 방식이 있는데, 여기서는 Queue를 이용하는 방식을 사용할 것이다.
4->6: arr[4].add(6)
5->6: arr[5].add(6)
진입 차수는 각 원소로 들어오는 원소의 개수를 말한다.
예를 들면, '2'의 진입차수는 '1'만 들어오므로 1개이고, '6'의 진입 차수는 '4'와 '5'가 들어오므로 2이다.