[위상정렬]
·
Algorithm
위상 정렬(Topological Sort)이란?위상 정렬은 순서가 정해져 있는 작업들을 올바른 순서대로 나열하는 알고리즘입니다.쉽게 말해, 어떤 작업이 다른 작업보다 먼저 수행되어야 할 때, 그 선후 관계를 지키면서 전체 순서를 구하는 방법입니다.예를 들어,선수 과목이 있는 과목 수강 순서빌드 의존성이 있는 프로젝트 컴파일 순서작업 간 선행 조건이 있는 스케줄링같은 문제에서 자주 사용됩니다.1. 위상 정렬의 핵심 개념위상 정렬은 방향 그래프(Directed Graph) 에서 사용합니다.그리고 아무 그래프에서나 가능한 것은 아니고, 반드시 사이클이 없는 방향 그래프(DAG, Directed Acyclic Graph) 이어야 합니다.왜 사이클이 있으면 안 될까?예를 들어,A를 하려면 B가 먼저 필요B를 하려..