[알고리즘] 최단거리 알고리즘(Dijkstra,Floyd Warshall)
Dijkstra Algorithm 다익스트라 알고리즘은 하나의 정점에서 다른 모든 정점으로 가는 최단 거리를 구하는 알고리즘 입니다. A,B,C,D,E,F 노드가 있을 때 하나의 정점A를 기준으로 A-B, A-C, A-E ...까지의 최단거리를 구할 수 있습니다. 이전에 구한 값을 재사용한다는 의미에서 다이나믹프로그래밍, 항상 가장 짧은 거리의 노드를 선택한다는 점에서 그리디 알고리즘으로 분류하기도 합니다. 1. 출발 노드를 설정 2. 출발 노드를 기준으로 각 노드의 거리를 저장 3. 방문하지 않은 노드 중에서 가장 거리가 짧은 노드를 선택 4. 해당 노드를 거쳐가는 경우와 거쳐가지 않은 경우를 비교하여 최단거리 갱신 5. 3,4 과정을 반복 A를 기준으로 각 노드의 거리 저장하였습니다. D,E의 경우 ..
2020. 9. 22.