Page 81 - Data Structures Interactive Book
P. 81
8.4.3 Floyd-Warshall Algorithm
The Floyd-Warshall algorithm is an all-pairs shortest path algorithm, meaning it
computes the shortest paths between every pair of vertices. It is particularly useful for dense
graphs and small to medium-sized networks. The algorithm uses dynamic programming,
gradually improving path estimates by considering intermediate vertices.
Step-by-step process:
1. Initialize a distance matrix with direct edge weights.
,
2. For each vertex , update all pairs ( )by checking if going through provides a shorter
path.
3. After considering all vertices, the matrix contains shortest paths between all pairs.
Example in C++:
This program computes shortest paths between all pairs of vertices, producing a
matrix that can be used for routing or network analysis.
8.5 Minimum Spanning Tree (MST)
A Minimum Spanning Tree (MST) is a subset of the edges of a connected, weighted,
undirected graph that connects all the vertices together without any cycles and with the
81

