图论:Floyd算法 您所在的位置:网站首页 floyd算法原理图 图论:Floyd算法

图论:Floyd算法

2024-02-29 09:07| 来源: 网络整理| 查看: 265

若两点间不可直达(需经过第三点),则令两点距离为 ∞ 。 创建Dis矩阵,Dis[i][j]:点 i 到点 j 的距离。 创建Path矩阵,Path[i][j]:点 i 到点 j 的最短路径中,点 i 的下一个点,默认为-1。 在这里插入图片描述

顶点1为中间点时 2→1→3距离∞+6=∞ >3 ,不更新表格。 2→1→4距离∞+4=∞=∞ ,不更新表格。 3→1→2距离7+2=9 < ∞ ,更新表格。 3→1→4距离7+4=11 > 1 ,不更新表格。 4→1→2距离5+2=7 < ∞ ,更新表格。 4→1→3距离5+6=11 < 12 ,更新表格。 在这里插入图片描述

顶点2为中间点时 1→2→3距离2+3=5 4 ,不更新表格。 3→2→1距离9+∞=∞ >7 ,不更新表格。 3→2→4距离9+∞=∞ > 1 ,不更新表格。 4→2→1距离7+∞=∞ > 5 ,不更新表格。 4→2→3距离7+1=10 < 11 ,更新表格。 在这里插入图片描述

顶点3为中间点时 1→3→2距离5+9=14 > 2 ,不更新表格。 1→3→4距离5+1=6 > 4 ,不更新表格。 2→3→1距离3+7=10 < ∞ ,更新表格。 2→3→4距离3+1=4 < ∞ ,更新表格。 4→3→1距离10+7=17 > 5 ,不更新表格。 4→3→2距离10+9=19 > 7 ,不更新表格。 在这里插入图片描述

顶点4为中间点时 1→4→2距离4+7=11 > 2 ,不更新表格。 1→4→3距离4+10=14 > 5 ,不更新表格。 2→4→1距离4+5=9 < 10 ,更新表格。 2→4→3距离4+10=14 > 3 ,不更新表格。 3→4→1距离1+5=6 < 7 ,更新表格。 3→4→2距离1+7=8 < 9 ,更新表格。 在这里插入图片描述

由上述,已遍历完所有点,得到以下最短路径 在这里插入图片描述 例如: 点2到点3的最短距离为3,最短路径为2→3。 点1到点3的最短距离为5,最短路径为1→2→3。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有