위상 정렬

kinghong97·2022년 2월 21일
1

위상 정렬
사이클이 없는 방향 그래프의 모든 노드를 방향성에 거스르지 않도록 순서대로 나열하는 것

진입차수 Indegree
특정한 노드로 들어오는 간선의 개수
진출차수 Outdegree
특정한 노드에서 나가는 간선의 개수

큐를 이용하는 위상 정렬 알고리즘의 동작 과정
집입차수가 0인 모든 노드를 큐에 넣는다
큐가 빌 때까지 큐에서 원소를 꺼내 해당 노드에서 나가는 간선을 그래프에서 제거한다
새롭게 진입차수가 0이된 노드를 큐에 넣는다

위상 정렬은 DAG 순환하지 않는 방향 그래프에서만 수행 가능
한 단계에서 큐에 새롭게 들어가는 원소가 2개 이상이면 여러가지 답이 존재 가능
모든 원소를 방문하기 전에 큐가 빈다면 사이클이 존재 가능
스택을 활용하여 DFS를 활용해 위상 정렬 가능

0개의 댓글

관련 채용 정보