Dijkstra算法和Floyd算法的区别之处:
https://blog.csdn.net/qq_17368865/article/details/79062348
总结来说就是
Dijkstra不能处理负权图,Flyod能处理负权图;
Dijkstra处理单源最短路径
Flyod是处理多源最短路径
这个区别有个博主写的特别好,生动又形象,来吧!传送门:https://blog.csdn.net/qq_34989804/article/details/82149495
3.
Dijkstra时间复杂度为O(n^2)
Flyod时间复杂度为O(n^3) 空间复杂度为O(n ^ 2);
所以题目中如果是单源点正权图,就用Dijkstra
如果是任意两个点之间的最短路径或者是负权图,就用Floyd;
Floyd算法允许图中有带负权值的边,但不许有包含带负权值的边组成的回路。