经典最短路径算法之Floyd算法
数据结构图论的最短路径算法经典的有三种:
- Floyd Warshall算法
- Dijkstra算法
- Bellman-Ford 算法
Floyd 算法
Floyd算法可计算任意结点到所有结点的最短路径,其时间复杂度为
O
(
n
3
)
O(n^3)
O(n3)
代码
void InitializeDistanceMatrix(Directed_Weighted_Graph *G);
for(int k = 0; k < n; k++) {
for(int i = 0; i < n; i++) {
if(D[i][j] > D[i][k] + D[k][j])
D[i][j] = D[i][k] + D[k][j];
}
}