Floyd(弗洛伊德)最短距离算法的正确性是怎么证出来的??

如果是从i到j经过一个节点K计算一下这个等式dpj= min{ dpk+ dpk[k-1] } 当经过n个节点就找到了i到j的最短路径。我的疑问是这样子的,为什么最终结果是最短距离,
看了网上的讲解,都没说清楚怎么回事,还请大神详细说下过程。。。万分感谢。。。。

阅读 2.9k
1 个回答
  1. 首先网上讲的很清楚哪怕是百度百科。

  2. 如果 i->k + k->j 比 i->j 短说明前者是当前阶段最短路这个明白吧?

  3. 本质上是动态规划,按照 i, j 分阶段求上一条就可以了。

  4. 不懂参考动态规划

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题