21-02-28 알고리즘 기초강의
최단 경로와 다익스트라 알고리즘
- 최단 경로 문제: Revisited
- 모든 정점의 쌍에 대한 최단 경로 구하기 (플로이드 알고리즘)
- 단일 정점에서 모든 다른 정점으로의 최단경로 구하기 (다익스트라 알고리즘)
다익스트라 알고리즘 슈도 코드
1 | Y = {v1}; |
- W[i][j]: 그래프 G의 인접행렬
- touch[i]: Y에 속한 정점들만 중간에 거치도록 하여 v1에서 v
i로 가는 현재 최단경로 상의 마지막 간선을 (v, vi)라고 할 때, Y에 속한 정점 v의 인덱스 - length[i]: Y에 속한 정점들만 중간에 거치도록 하여 v1에서 v
i로 가는 현재 최단 경로의 길이
파이썬으로 다익스트라 알고리즘
1 | def dijkstra (W): |