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
- 5397
- qorwns
- 해시구현
- 구현
- 시간 복잡도
- 백준 17471
- 스택의 특징
- AVL 시간 복잡도
- dfs
- 원판 돌리기
- 백준 2447
- 자료구조
- 해시 구현
- 별 찍기 10
- 풀이
- C/C++ 구현
- 조세퍼스 순열
- 백준
- ㅣ풀이
- 버킷 정렬
- Stack 이란
- 백준 17779
- 게리멘더링2
- 백준 1406
- 백준 5397
- heap
- 백준 1158
- 1764
- c#
- 백준 17822
Archives
- Today
- Total
홍시홍의 프로그래밍
[알고리즘] 다익스트라(시간복잡도, 특징, 구현방법) 본문
특징
다익스트라 알고리즘은 정점에서 정점까지의 최소 거리를 구하는 알고리즘이다
특징으로는 음의 간선을 포함하는 경우에는 계속 업데이트 되므로 최소 거리를 구할 수 없다.
이 경우는 다익스트라 알고리즘이 아닌, 벨만 포드 알고리즘으로 거리를 구한다.
사용하는 곳
인공위성, GPS, 네비게이션등 최단 거리를 구하고자 하는 곳에 사용된다.
시간 복잡도
다익스트라 알고리즘은 인접 행렬로 구현할 경우 O(N^2)
리스트인 경우 O(N*onN)이 된다
힙을 사용해야되기 때문이다.
구현방법
다익스트라는
1. 모든 정점까지의 거리를 무한대로 설정
2. 시작점 거리 0으로 초기화
3. Q에 삽입
4. 현재 정점과 연결 되있으며, 거리가 업데이트되는 경우 Q에 삽입
5. Q가 빌때까지 반복
'알고리즘' 카테고리의 다른 글
[알고리즘] 정렬의 하한 증명 (0) | 2020.05.27 |
---|---|
[알고리즘] BFS(너비우선 탐색, 시간복잡도, 구현 방법, 특징) (0) | 2020.05.19 |
선택 정렬(시간복잡도, 구현방법, 특징) (0) | 2019.09.25 |
버킷(Bucket) 정렬(개념, 시간 복잡도) (0) | 2019.09.23 |
기수(radix) 정렬(C/C++ 구현, 시간 복잡도) (0) | 2019.09.23 |
Comments