300x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 브루트포스
- dp
- 코딩테스트
- 파이썬
- 코딩 테스트
- 백준
- 리눅스
- 알고리즘
- 코딩
- linux
- 운영체제
- kick start
- 구글 킥스타트
- DFS
- OS
- CSS
- AI
- 프로그래밍
- 동적 프로그래밍
- 프로그래머스
- BFS
- nlp
- google coding competition
- 순열
- 네트워크
- PYTHON
- 그래프
- 딥러닝
- 킥스타트
- 동적프로그래밍
Archives
- Today
- Total
목록그래프 이론 (1)
오뚝이개발자
위상정렬
개념 위상정렬이란 directed graph에서 꼭짓점을 방향성을 거스르지 않도록 정렬하는 방법이다. 실생활에서 대표적인 예시가 바로 선수과목(prerequisite)이다. 알고리즘 구현하는 방법은 아래와 같다. 연결성에 대한 정보를 가지고 인접리스트를 만든다. 이를 기반으로 in-degree(해당 vertex로 들어오는 선의 갯수) 정보를 담은 배열을 만든다. in-degree가 0인 vertex를 stack에 담는다. stack에서 pop하고 해당 vertex와 연결된 점들의 in-degree를 -1 한다. 3과 4를 반복하며 stack에서 pop 해줄 때마다 answer 리스트에 담으면 해당 결과가 위상정렬의 결과가 된다. 아래와 같은 그래프가 있다고 하면, in-degree(진입차수) 리스트는 아..
CS 기초/자료구조 및 알고리즘
2021. 7. 4. 15:04