diff --git a/dynamic-programming/FloydWarshall.java b/dynamic-programming/FloydWarshall.java new file mode 100644 index 0000000..4181254 --- /dev/null +++ b/dynamic-programming/FloydWarshall.java @@ -0,0 +1,58 @@ +import java.io.*; +import java.lang.*; +import java.util.*; + +class AllPairShortestPath { + final static int INF = 99999, V = 4; + + void floydWarshall(int dist[][]) + { + + int i, j, k; + + + for (k = 0; k < V; k++) { + for (i = 0; i < V; i++) { + for (j = 0; j < V; j++) { + if (dist[i][k] + dist[k][j] + < dist[i][j]) + dist[i][j] + = dist[i][k] + dist[k][j]; + } + } + } + + // Print the shortest distance matrix + printSolution(dist); + } + + void printSolution(int dist[][]) + { + System.out.println( + "The following matrix shows the shortest " + + "distances between every pair of vertices"); + for (int i = 0; i < V; ++i) { + for (int j = 0; j < V; ++j) { + if (dist[i][j] == INF) + System.out.print("INF "); + else + System.out.print(dist[i][j] + " "); + } + System.out.println(); + } + } + + // Driver's code + public static void main(String[] args) + { + int graph[][] = { { 0, 5, INF, 10 }, + { INF, 0, 3, INF }, + { INF, INF, 0, 1 }, + { INF, INF, INF, 0 } }; + AllPairShortestPath a = new AllPairShortestPath(); + + // Function call + a.floydWarshall(graph); + } +} +
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: