# Floyds algorithm

Graphs with negative cycles The path between a and e can be arbritarily small negative. Shortest Path from vertex 0 to vertex 1 is 0 2 3 1 Shortest Path from vertex 0 to vertex 2 is 0 2 Shortest Path from vertex 0 to vertex 3 is 0 2 3 Shortest Path from vertex 1 to vertex 0 is 1 0 Shortest Path from vertex 1 to vertex 2 is 1 0 2 Shortest Path from vertex 1 to vertex 3 is 1 0 2 3 Shortest Path from vertex 2 to vertex 0 is 2 3 1 0 Shortest Path from vertex 2 to vertex 1 is 2 3 1 Shortest Path from vertex 2 to vertex 3 is 2 3 Shortest Path from vertex 3 to vertex 0 is 3 1 0 Shortest Path from vertex 3 to vertex 1 is 3 1 Shortest Path from vertex 3 to vertex 2 is 3 1 0 2 We have already covered single-source shortest paths in separate posts.

However, only the shortest path found for each pair of nodes is saved by the algorithm. If, after termination of the algorithm, any cost i, j in the distance matrix is negative, then the graph contains at least one negative cycle. Correctness of this statement can be shown by induction.

Then the matrix entry W[i,j] is the weight of the edge i,jif this edge exists. The algorithm of Floy-Warshall works in an interative way. The distant matrix gives the weight of edges for adjacent vertices. In order to find all shortest paths simultaneously, the algorithm needs to save a matrix that contains the current cost for all pairs of nodes. Idea of the Algorith The path a, d has been improved.

We update the cost matrix whenever we found a shorter path from i to j through vertex k. Also: vk. Shortest Paths Here's an example problem: Consider 10 cities that are connected using various highways. Row and column indices of this matrix represent the nodes and each entry contains the corresponding current cost.

Rated 10/10 based on 61 review