This material may consist of step-by-step explanations on how to solve a problem or examples of proper writing, including the use of citations, references, bibliographies, and formatting. This material is made available for the sole purpose of studying and learning - misuse is strictly forbidden.Report
Brief Introduction of the Used Algorithm
The algorithm used for finding all source shortest path pairs in this project is based on Floyd-Warshall’s method. Among the most-known applications can be highlighted the computation of the transitive closure of a relation, inversion of matrices and optimal routing between any pair of nodes (in directed and weighted graphs with both positive and negative costs).
The present algorithm is used to discover the shortest paths from all the source nodes to the rest of the vertices of the graph. A strong point is represented by the fact that it is usable in a weighted directed graph; although it performs slower than classical Dijkstra’s algorithm (since it also performs more computations), it remains a valuable application in the field.
Floyd-Warshall’s algorithm compares the paths between any pair of vertices and updates the shortest distances progressively. It can also be seen recursively as below:
Shortest_Path(i,j,k+1) =MINIMUM (Shortest_Path(i,j,k), Shortest_Path (i,k+1,k) +Shortest_Path(k+1,j,k)), where the base case is represented by the following formulation: Shortest_Path(i,j,0)=Weight(i,j). This assertion is also applied within the selected algorithm....