本文主要是介绍单源点最长路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最短路算法总结
1.dijkstra
单源点最短路
思想:每次取到源点最短的点,因为没有负边,所以不能再被其它点优化
所以该图不能有负边,可以有环
2.贝尔曼福德
可以用负边,当不能有负环路,如果有负环路,会一直松弛下去,没有最短路
负环路:环路权重之和为负数
3.ford 多源点最短路
动态规划
可以有负权边
负权环是不是求不出最短路
单源点最长路
把边改为负边,然后继续用原来的算法求最短路即可
1.dijkstra 不能通过 边权为负来求最长路
样例,以A为起点,A-D的边先出堆,所以D的边权先被确定了,无法被C再优化
- spfa,ford可以
但图中不能有环,不然就会有负权环
这篇关于单源点最长路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!