플로이드 워셜 알고리즘 : 모든 지점에서 다른 모든 지점까지의 최단 경로를 모두 구해야 하는 경우에 사용하는 알고리즘 - 모든 노드에 대하여 다른 모든 노드로가는 최단 거리 정보를 담아야 하기 때문에 2차원 리스트에 '최단 거리' 정보를 저장함 => N번의 단계에서 매번 O(N^2)의 시간이 소요됨. - 각 단계에서는 해당 노드를 거쳐가는 경우를 고려함. ex) 1번 노드에 대해 확인할 때: A -> 1번 노드 -> B로 가는 비용 확인한 후 최단 거리 갱신 => O(N^3) - 다이나믹 프로그래밍 점화식: Dab = min (Dab, Dak+Dkb) (Dab = a에서 b로 가는 최단 거리) 출발|도착 1번 2번 3번 4번 1번 0 4 무한 6 2번 3 0 7 무한 3번 5 무한 0 4 4번 무한 무한..