해당 글은 바킹독님의 강의를 참고해서 정리한 글입니다.
하나의 시작점으로부터 다른 모든 정점까지의 최단 거리 (최소 비용)를 구하는 알고리즘. 단, 음수의 가중치를 가지는 간선이 존재하면 사용할 수 없다. 해당 경우는 벨만 포드 알고리즘 사용할 것 !
다익스트라 알고리즘은 매 단계마다 도달할 수 있는 정점 중에서 시작점으로부터의 거리가 가장 가까운 정점을 구해서 그 거리를 확정하는 방식으로 동작한다.
적어도 현재 갈 수 있는 정점 중에서 가장 가까운 거리의 정점까지의 거리는 확정 가능하기 때문
원소의 추가 및 삭제가 가능하고, 최솟값을 빠르게 찾을 수 있는 자료구조이기 때문이다.
(0, 시작점)
추가(거리, 이웃한 정점 번호)
추가한다.