플로이드 와샬
-
플로이드 알고리즘알고리즘 이론/알고리즘 구현 2019. 8. 18. 01:28
모든 정점에서 모든 정점으로의 최단 경로를 구하고 싶다면 플로이드 알고리즘을 사용하자. 코드 ( C++ )// 플로이드 알고리즘으로 최단 거리와 최단 경로를 구해 보자.#include #include #include #include using namespace std;const int MAX = 100;// 그래프의 인접 행렬 표현// adj[u][v] = u 에서 v로 가는 간선의 가중치. 간선이 없으면 아주 큰 값을 넣는다.int adj[MAX][MAX];// via[u][v] = u에서 v까지 가는 최단 경로가 경유하는 점 중 가장 번호가 큰 정점int via[MAX][MAX];// 정점의 개수int V;// 플로이드의 모든 쌍 최단 거리 알고리즘void floyd(){for (int i = 0; ..