Floyd算法

算法:

初始化矩阵实际上就是 对于aij,i和j若连通,aij=d(i,j),若不连通=∞,若i=j(对角线)=0.

注意元素dij表示从结点vi到vj而中间结点仅属于v1到vk的k个结点的所有通路中的最短通路长度也就是说Di中间节点只允许是无/v1...vi。所以下
一个矩阵的更新关键在于第K行的第K列(新允许的节点相关行列)

具体求法:初始化后不管,第i个矩阵第i行第i列不变,并给其画上红线,其他元素水平竖直对过去,按下面的公式比较

具体看下例
例:


实在忘了的话看这个https://www.bilibili.com/video/BV1tQ4y147pw?t=224.6

posted @ 2025-06-05 21:16  hardestnut  阅读(5)  评论(0)    收藏  举报