위상 정렬 Topological Sort

2021. 8. 28. 23:48·Algorithm/알고리즘 이론

위상 정렬(Topological Sort)이란?

정렬 기준이 '위상'으로 여기서 위상이란 진입차수(incoming edge의 수)를 의미한다

 

위상 정렬의 특징

- Directed Acyclic Graph(DAG)에서만 가능

- 즉, 방향을 가지며 싸이클은 형성하지 않는 그래프를 말한다

- 보통 일의 순서를 정하는 알고리즘에서 많이 사용됨

 

위상 정렬 알고리즘

  1. 각 노드의 위상(incoming edge의 수)를 저장
  2. 위상이 0인 노드를 큐에 푸쉬
  3. 큐가 빌 때까지 아래 과정 반복
    1. 큐에서 노드를 꺼내 해당 노드와 연결된 노드의 간선을 모두 제거(동시에 연결된 노드의 위상을 하나씩 낮춰줌)
    2. 큐에서 꺼낸 노드를 위상정렬에 넣어줌
    3. 위상이 0인 노드를 큐에 푸쉬

 

 

 

반응형

'Algorithm > 알고리즘 이론' 카테고리의 다른 글

단절점(Articulation Point), 단절선(Articulation Bridge)  (0) 2021.09.30
강한연결요소 : Strongly Connected Component  (0) 2021.09.05
[Algorithm : 알고리즘] 06 Dynamic Programming: DP  (0) 2020.08.03
[Algorithm: 알고리즘] 05 Greedy Algorithm  (0) 2020.08.03
[Algorithm: 알고리즘] 04 Graph  (0) 2020.07.31
'Algorithm/알고리즘 이론' 카테고리의 다른 글
  • 단절점(Articulation Point), 단절선(Articulation Bridge)
  • 강한연결요소 : Strongly Connected Component
  • [Algorithm : 알고리즘] 06 Dynamic Programming: DP
  • [Algorithm: 알고리즘] 05 Greedy Algorithm
계속지나가기
계속지나가기
NLP Engineer
  • 계속지나가기
    코딩스뮤
    계속지나가기
  • 전체
    오늘
    어제
    • 코딩스뮤:)
      • Algorithm
        • 백준 문제풀이
        • 프로그래머스 문제풀이
        • 알고리즘 이론
        • 자료구조
        • SW Expert Academy
      • 인공지능(AI)
        • LLMs
        • 자연어처리(NLP)
        • 컴퓨터비전(CV)
        • 딥러닝(DL)
        • 머신러닝(ML)
        • 인공지능기초수학
        • 선형대수학
      • 컴퓨터 세팅
      • Computer Science
        • 유닉스프로그래밍
        • 프로그래밍언어론
        • 디자인패턴
        • 클린코드
        • SW 영어
        • 리눅스
        • 논리회로
      • Server
        • Docker
      • 바이브 코딩
        • 클로드 코드
  • 블로그 메뉴

    • 홈
    • Who Am I(CV)
    • 태그
  • 링크

    • 깃허브 주소
  • 공지사항

  • 인기 글

  • 태그

    언어모델
    컴퓨터비전
    네트워크플로우
    f1-score
    손실함수
    에지검출
    DIP
    ComputerVision
    최대유량
    기계학습
    NLP
    지도학습
    패턴인식
    알고리즘
    군집화
    DigitalImageProcessing
    경사하강법
    선형회귀
    ML
    networkflow
    결정경계
    파이썬 클린코드
    SIFT
    MaximumFlow
    LM
    machinelearning
    비용함수
    비지도학습
    디지털이미지처리
    머신러닝
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
계속지나가기
위상 정렬 Topological Sort

티스토리툴바