参考博客

时间复杂度对比:

  Dijkstra:  O(n2)

  Dijkstra + 优先队列(堆优化):  O(E+V∗logV)

  SPFA:  O(k∗E) ,k为每个节点进入队列的次数,一般小于等于2,最坏情况为O(V∗E)   

  BellmanFord: O(V∗E) ,可检测负圈

  Floyd: O(n3)   计算每对节点之间的最短路径

结论:
  ① 当权值为非负时,用Dijkstra。
  ② 当权值有负值,且没有负圈,则用SPFA,SPFA能检测负圈,但是不能输出负圈。
  ③ 当权值有负值,而且可能存在负圈,则用BellmanFord,能够检测并输出负圈。
  ④ SPFA检测负环:当存在一个点入队大于等于V次时,则有负环。

最新文章

  1. 开发node桌面级应用工具:apk转化epub
  2. bzoj 4695: 最假女选手
  3. OpenGL编程指南(第七版)
  4. 剑指Offer面试题:3.替换空格
  5. 用过的正则(更新ing)
  6. context--command buffer
  7. 【C++深入浅出】设计模式学习之单例模式
  8. JavaScript日期时间操作
  9. Android应用开发中Intent的作用及使用方法
  10. stage.width/height和stage.stageWidth/stageHeight的区别
  11. CSS命名规则常用的css命名规则
  12. numpy C语言源代码调试(三)
  13. HDU-problem-1002-人类史上最大最好的希望事件-矩阵快速幂
  14. linux下安装nexus repository及Intellij Idea集成私有maven
  15. rbac组件权限按钮,菜单,可拔插
  16. IntelliJ IDEA 创建Web项目(全教程)
  17. python wsgi 简介
  18. SSM框架整合搭建教程
  19. Java第05次实验提纲(Java图形界面编程)
  20. DataGridView,Dataset,DataTable,DataRow等使用心得

热门文章

  1. 细说RESTful API之文档管理
  2. Centos7环境下部署搭建discuz论坛
  3. sizeof(类名字)
  4. matlab 双坐标折线图画法
  5. vue判断图片为空或者图片加载不成功时显示默认图片
  6. layui 上传图片 实现过程
  7. MSSQLSERVER 服务运行内存设置较小导致启动服务失败
  8. pytest_assert断言
  9. oracle学习笔记(三)
  10. 2019 钢银java面试笔试题 (含面试题解析)