Dijkstra&&Floyd
“有效的程序员不应该浪费很多时间用于程序调试,他们应该一开始就不要把故障引进”
Dijkstra 算法 (迪杰斯特拉)
算法思路:
1、初始化 :先找出从源点到各重点的直达路径,即通过一条弧,到达的路径。
2、选择:从这些路径中找出一条长度最短的路径
3、更新:然后队其余各条路径进行适当的调整
(若是通过中间点比原来直达路径更短,则使用路径之和取代直达路径)
Floyd 算法 (弗洛伊德)
算法思路:
1、初始设置一个n阶矩阵,对角线元素为0,其余元素为权值,不存在则为无穷大
2、 则开始逐步向直接路径中增加中间顶点,若加入后,路径变短则更新;否则,保持原样。直至所有顶点测试完毕
联系实际生活
用于解决最短路径问题,比如如何从某地去外地,通过哪条路径抵达,使用时间最短,或者花费金钱最少。
用于个人学习笔记,课程学习可以参考青岛大学王卓老师相关课程,欢迎私信提出意见,谢谢观看!