Dijkstra 알고리즘이란 ?
- 시작 정점에서 거리가 최소인 정점을 선택해 나가면서 최단 경로를 구하는 방식
- 음의 간선이 존재하지 않는, 간선의 값이 0 이상의 양수일 때 정상적으로 동작한다.
- 우선 순위 큐(heapq)를 사용한다.
동작 원리 단계
- 인접 리스트를 만든다.
- 최단 거리 테이블을 무한대의 값으로 초기화한다.
- 현재 노드에서 갈 수 있는 노드 다 가져온다.
- 현재 노드에서 다음 노드로 가는 간선 비용을 계산하여 가중치 테이블을 업데이트 한다.
- 3번과 4번을 반복한다.
문제
'Algorithm > 개념' 카테고리의 다른 글
비트마스크 (Bit Mask) (0) | 2021.12.30 |
---|---|
Union-Find 알고리즘, KRUSKAL 알고리즘 (0) | 2021.10.31 |
Dynamic Progamming (동적 계획법, DP) (0) | 2021.09.13 |
DFS / BFS (0) | 2021.06.20 |
에라토스테네스의 체(Eratosthenes' sieve ) (0) | 2021.06.18 |