四种最短路算法的比较

推荐阅读原文:https://blog.csdn.net/mashiro_ylb/article/details/78289790

结论是:

  1. Dijkstra算法,不能处理存在负边权的情况,侧重对点的处理,适用于:稠密图。
  2. Floyed-Warshall算法,只有数据规模较小且时空复杂度都允许时才可以使用。
  3. Bellman-Ford算法,可以求出存在负边权情况下的最短路径,但无法解决存在负权回路的情况,侧重于对边的处理适用于:稀疏图。
  4. SPFA算法,侧重于对边的处理,适用于:稀疏图。

小结:

如不能有效判断一个图是否稠密,建议使用堆优化迪杰斯特拉而不是SPFA,SPFA的时间复杂度不稳定且非常玄学。

堆优化迪杰斯特拉:https://blog.csdn.net/weixin_43828245/article/details/90743983

你可能感兴趣的:(四种最短路算法的比较)