티스토리 뷰
다익스트라 알고리즘
하나의 정점을 기준으로 나머지 모든 정점까지의 최소비용을 구한다.
1. vector<pair<int,int>> graph[V] 에 간선 정보 저장함.
graph[2] = pair(1,10)이면 2노드에서 1노드까지 10 가중치의 간선 존재
2. 시작 노드에서 시작.
3. 현재 노드에서 갈수 있는 노드 중 가중치가 가장 작은 노드 방문.
4. 해당 노드 거쳐 가는 거리 계산하고 최소값 갱신.
(반복)
3번을 수행할때 우선순위 큐가 쓰이는데 우선순위 큐를 쓰지 않아도 되긴한다.
그럴 경우 그냥 인접한 노드를 모두 방문해도 최종적으로 우리가 원하는 값을 얻을수는 있지만 이 경우 하나의 노드를 방문할때마다 인접한 모든 노드를 방문해야 한다.
'알고리즘' 카테고리의 다른 글
| Union-Find Algorithm (0) | 2022.04.01 |
|---|---|
| 에라토스테네스의 체 (0) | 2022.03.02 |
| 병합 정렬 (Merge Sort) (0) | 2022.02.26 |
| ccw (Counter Clockwise) (0) | 2022.02.24 |
| 트라이 자료구조 (0) | 2022.02.22 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- dfs
- priority queue
- MVC
- 이분탐색
- Implementation
- graph
- Spring
- 조합
- 자료구조
- Dijkstra
- Brute Force
- Unity
- BFS
- binary search
- CSS
- Kruskal
- 재귀
- Tree
- C
- permutation
- back tracking
- recursion
- C++
- Stack
- greedy
- Python
- db
- two pointer
- DP
- floyd warshall
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함
