——图片来自《啊哈!算法》
n是顶点数,m是边数
floyd:O(n^3)
朴素dijkstra:O(n^2+m)
dijkstra最小堆优化:O((m+n)logn)
spfa:O(km)->O(nm) 理论上k<=2;
稠密图中适合使用朴素dijkstra
而稀疏图中采用最小堆dijkstra或者spfa,spfa在正权图中尽量不要使用,会被卡数据。。。但是有负权边的话使用spfa是不错的选择
——图片来自《啊哈!算法》
n是顶点数,m是边数
floyd:O(n^3)
朴素dijkstra:O(n^2+m)
dijkstra最小堆优化:O((m+n)logn)
spfa:O(km)->O(nm) 理论上k<=2;
稠密图中适合使用朴素dijkstra
而稀疏图中采用最小堆dijkstra或者spfa,spfa在正权图中尽量不要使用,会被卡数据。。。但是有负权边的话使用spfa是不错的选择