알고리즘: 다익스트라(Dijkstra) - 최단 경로 구하기

• 다익스트라 알고리즘은 가중치가 양수인 그래프에서 한 정점으로부터 모든 정점까지의 최단 거리를 구하는 알고리즘으로, 우선순위 큐를 사용하여 효율적으로 구현할 수 있다.
• 이 알고리즘은 시작 노드의 거리를 0으로 설정하고, 나머지 노드는 무한대로 초기화한 후, 우선순위 큐를 사용하여 가장 짧은 거리를 가진 노드를 탐색하며 최단 거리를 갱신한다.
• 음수 가중치가 있는 경우에는 다익스트라 알고리즘이 제대로 동작하지 않을 수 있으며, 이때는 벨만-포드 알고리즘을 사용해야 한다.
• 다익스트라 알고리즘의 구현은 `heapq` 라이브러리를 사용하여 최소힙 형태로 우선순위 큐를 관리하며, 모든 노드가 처리될 때까지 반복하여 최단 거리를 계산한다.

북마크
공유하기
신고하기