基本思想:最开始只允许进过1号顶点进行中转,
接下来只允许1和2号顶点进行中转......允许经过1~n所有顶点进行中转,
求任意两点之间的最短路程。用一句话概括就是:
从i号顶点到j号顶点只经过前k号点的最短路程。
核心代码:
for (int k=1; k<=n; i++)
for (int i=1; i<=n; i++)
for (int j=1; j<=n; j++)
if(e[i][j]>e[i][k]+e[k][j])
e[i][j]=e[i][k]+e[k][j];
特点:代码简单,时间复杂度高,可以解决带负权边。
本文介绍了一种用于寻找图中所有顶点对之间最短路径的经典算法——Floyd算法。该算法通过逐步增加允许作为中转点的顶点数量来迭代更新路径矩阵,最终得到任意两点间的最短路径。
1050

被折叠的 条评论
为什么被折叠?



