[Algorithm] - 위상정렬(Topological Sort)
위상정렬이란위상정렬은 방향 그래프(Directed Graph)에서 노드 간의 순서를 정하는 알고리즘이다.특히, 순서가 정해져있는 작업(노드)들을 차례대로 수행(방문)해야 할 때 사용된다.예를 들어,컴파일러의 작업 순서 결정수강 과목 순서 정하기 (선수 과목 존재 시)빌드 시스템: 어떤 파일을 먼저 빌드해야 하는지 결정업무 순서 계획: 작업 간 의존 관계가 있을 때 순서 지정이 대표적인 예시다. 위상 정렬의 조건방향 비순환 그래프(DAG, Directed Acyclic Graph)이어야 한다.만일 노드 간 사이클이 존재한다면 위상정렬은 불가능하다.순서가 정해진 정점들을 선형적으로 나열해야한다. 위상정렬의 개념위상정렬은 진입차수(in-degree) 개념을 기반으로 동작한다.진입차수(in-degree)란, 어..