floyd算法细节

这个不是一篇学习性文章 主要是针对这几天思考的问题进行一些回答

floyD在计网和数据结构和图模型中有广泛的应用算法 很简单但是其中蕴含的原理值得细究。

  • 弗洛伊德算法(Floyd)主要针对多源最短路径,且可以解决路径中有负权的情况(不包含负权回路),但是迪杰斯特拉算法只能解决正权值的单源最短路径(可以迭代多次求多源)
  • floyd算法适用于有向图 

递推公式

floyd算法细节_第1张图片

算法正确性证明

动态规划的思想就是将一个大问题拆成任意多个子问题,并且不同的大问题具有子问题的重叠性,基本的套路是采用数组记录进行记忆化递归

证明的思想就是一个归纳法

floyd算法细节_第2张图片

能否调换顺序

你可能感兴趣的:(#,算法设计与分析,算法)