반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- jsx
- React
- 자바
- Upstream
- 알고리즘
- 우테코
- 애플리케이션 계층
- 커밋메시지
- 웹개발
- 서울청년문화패스
- c
- 트랜스포트 계층
- 예술의 전당
- 다이나믹 프로그래밍
- webhacking
- linux
- 비동기 처리
- 우아한테크코스
- 선우예권
- 깃헙
- 코리안챔버오케스트라
- 동적 프로그래밍
- 깃
- 네트워크 계층
- 백엔드
- 진입차수
- 프랑스어 #프랑스어배우기 #프랑스어독학 #델프인강 #시원스쿨프랑스어 #delf독학 #델프 #프랑스어기초 #프랑스어공부
- 위상 정렬
- 프리코스
- Dreamhack
Archives
- Today
- Total
yon11b
위상 정렬- 정점의 진입차수를 이용하여 본문
반응형
위상 정렬의 방법에는 두 가지가 있다.
하나는 진입차수를 이용한 방법이고 다른 하나는 DFS를 특화한 방법이다.
여기서는 진입차수를 이용한 방법에 대해서 알아보도록 하겠다.
위상정렬은 진입간선이 0인 것들을 기준으로 삼는다. 따라서 진입간선을 알아내야 한다.
이 때 효율적으로 진입간선의 여부를 알 수 있는 방법이 있는데 바로 제일 처음에 진입 간선의 수를 다 세어 놓는 것이다.
A0: A로 들어오는 간선의 수가 0개이다.
B2: B로 들어오는 간선의 수가 2개이다.
맨 처음에 A를 시작 노드로 했을 때, A가 B를 가리키므로 B로 들어오는 간선의 수를 하나 감소시켜서 B1로 만든다. (고려대상에서 제외한다.)
효율적으로 진입 차수가 0인 것을 찾는 방법
다 순회하면서 찾는다.? ⇒ 너무 비효율적
해결책: 진입차수가 0인 것들만 따로 모아 놓는다.
⇒ 감소하여 0이 되는 순간 큐에 집어넣는다.
728x90
'언어 > C' 카테고리의 다른 글
[백준] 11718번- 그대로 출력하기 (0) | 2022.12.25 |
---|---|
기말고사준비: 힙부터 최단경로까지 (0) | 2022.12.19 |
위상 정렬 개념 C (0) | 2022.12.03 |
위상 정렬 문제 C (0) | 2022.12.03 |
그래프 구현하다가 삽질한 내용들 정리 (0) | 2022.11.19 |