[Python] 다익스트라 알고리즘 (Dijkstra Algorithm)
다익스트라 알고리즘은 그래프에서 여러 개의 노드가 있을 때, 특정한 노드에서 출발하여 다른 노드로 가는 각각의 최단 경로를 구해주는 알고리즘이다. '음의 간선'이 없을 때만 사용할 수 있다. 최단 거리 테이블을 이용하며, 그리디와 DP를 이용한다고 볼수 있다. 다익스트라 알고리즘 기본 원리 [1] 출발 노드 설정 [2] 최단 거리 테이블 초기화 [3] 방문하지 않은 노드들 중에서 최단 거리가 가장 짧은 노드 선택 [4] 해당 노드를 거쳐 다른 노드로 가는 비용을 계산하여 최단 거리 테이블 갱신 [5] [3], [4] 번 반복 구현 방법 2가지 방법 1. 구현이 쉽지만, 동작이 느린 코드 (O(V^2)) 방법 2. 구현이 어렵지만, 동작이 빠른 코드 (O(ElogV)) 방법 1. 구현이 쉽지만, 동작이 느..