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 |
Tags
- git 오류
- python기초
- 운체 1주차
- 그리디
- 백준
- python자료형
- 자료구조
- #코린이 #코딩 #할 수 있다
- python기본
- 4장
- 5장
- 데베시 1주차
- c언어 기본
- c언어 제어문
- 1주차(1)
- git오류
- c언어
- 코딩테스트
- DP
- 코테
- 최단거리
- 스택
- 파이썬 알고리즘 인터뷰
- 인텔리제이
- Git
- 인스타
- Workbench
- 참고X
- 도커
- git기초
Archives
- Today
- Total
목록최단거리 (1)
하루살이 개발자
[알고리즘] 최단 경로 알고리즘(1) - 다익스트라(Dijkstra) 알고리즘
최단 경로 알고리즘이란, 주어진 노드와 간선(edge)들 중, 가장 짧은 경로를 찾는 알고리즘입니다. 즉, 서울에서 인천, 대전, 광주, 부산을 갈 수 있는 가장 짧은 경로를 찾는 것입니다. 0. 최단 경로 문제 - 다익스트라 알고리즘 이용(BFS 너비 우선 탐색) - "우선 순위 큐( 최소 힙 방식)"을 이용하여, 시간 복잡도 O(nlogn) - 이동경로가 양수라 하면 Dijkstra 알고리즘, 음수를 포함한다면 Bellman-ford 알고리즘 사용! * 다익스트라 알고리즘 1. 출발 노드를 설정 2. 최단 거리 테이블을 초기화(그러므로 최단 거리를 기록할 테이블을 정의해야 함) 3. 방문하지 않은 노드 중에서 최단 거리가 가장 짧은 노드를 선택(방문하지 않은 노드를 체크해야 하므로 이를 위한 테이블을..
CS/알고리즘
2022. 2. 13. 09:26