Last updated
Last updated
Shortest-Path Algorithm (최단경로 알고리즘)
플로이드-워셜 알고리즘 (모든 지점에서 다른 모든 지점까지의 최단경로)
벨만포드 알고리즘 (한 지점에서 음수 가중치를 포함하는 다른 모든 지점까지의 최단경로)
모든 노드에서 다른 모든 노드로 가는 최단경로를 구하는 알고리즘
모든 노드에서 모든 노드로 가는 거리를 담을 이차원 배열 shortest를 선언한다.
각 노드에 대하여 자기 자신으로 가는 거리를 0으로 초기화한다.
각 노드에 대하여 연결된 정점으로 가는 거리를 초기화한다.
모든 노드에 대한 해당 노드를 중간 지점으로 거쳐갈 때와 거쳐가지 않을 때의 거리를 비교
하여 더 짧은 값으로 테이블을 갱신한다.
모든 노드를 중간 지점으로 잡으므로 O(N), 순서를 고려하여 시작 지점이 될 노드와 끝 지점이 될 노드를 정하는 것이 nP2 = O(N^2).
따라서 O(N^3)
이다.