[알고리즘] 위상 정렬(Topological Sort)
·
Python/Algorithm
💡위상 정렬이란?정렬 알고리즘의 하나로, 순서가 정해져 있는 작업을 차례로 수행해야할 때 사용할 수 있는 알고리즘이다.방향이 있는 그래프의 노드들을 간선의 방향을 거스르지 않도록 나열하는 것 🔎진입 차수와 진출 차수위상 정렬 알고리즘을 알아보기 위해 먼저 진입 차수와 진출 차수에 대한 개념을 알아야 한다.진입 차수 (Indegree) : 특정한 노드로 들어오는 간선의 개수진출 차수 (Outdegree) : 특정한 노드에서 나가는 간선의 개수 🔎위상 정렬 알고리즘 동작 과정1. 진입 차수가 0인 노드를 큐에 넣는다.2. 큐가 빌 때 까지 다음의 과정을 반복한다. 2-1. 큐에서 원소를 꺼내 해당 노드에서 나가는 간선을 그래프에서 제거 2-2. 진입 차수가 0이 된 노드를 큐에 새롭게 삽입즉..