Dijkstra算法
2015-10-30 17:34
218 查看
Dijkstra算法 能够实现求得,图中某一源点s分别到其它所有点的最小距离
上面的主要内容就是:
1.Dijkstra算法的框架
2.Dijkstra算法的运行时间效率分析:
V记为顶点数,E即为边数
a. 最朴素的情形,Dijkstra算法时间复杂度为O(V^2+E)
b. 若算法中使用最小二叉堆实现,则时间复杂度为O(VlogV+ElogV), (例子:在稀疏图的情况下,若E=O(V^2/log(V)), 代入式子得复杂度为O(VlogV+V^2)。)
也就是说在E量级比较小的情形下,此版本的算法,比朴素的情形算法时间成本有所改善。
c. 若算法中使用菲波拉契数堆实现,则时间复杂度为O(VlogV+E)。
上面的主要内容就是:
1.Dijkstra算法的框架
2.Dijkstra算法的运行时间效率分析:
V记为顶点数,E即为边数
a. 最朴素的情形,Dijkstra算法时间复杂度为O(V^2+E)
b. 若算法中使用最小二叉堆实现,则时间复杂度为O(VlogV+ElogV), (例子:在稀疏图的情况下,若E=O(V^2/log(V)), 代入式子得复杂度为O(VlogV+V^2)。)
也就是说在E量级比较小的情形下,此版本的算法,比朴素的情形算法时间成本有所改善。
c. 若算法中使用菲波拉契数堆实现,则时间复杂度为O(VlogV+E)。
相关文章推荐
- linux重启Tomcat
- 代码面试最常用的10大算法
- 找不到头文件xxxxx.h file not found
- android 合并两个jar包
- 二级域名跨域session共享, yii2
- ecshop session 无法保存 ecshop 不用session_sart session经常保存不了 经常失效
- Struts2工作原理
- 顶点法向量的计算
- java匿名内部类
- 局部敏感哈希(Locality-Sensitive Hashing, LSH)方法介绍
- 【bzoj1024】 [SCOI2009]生日快乐 DFS
- 【总结 】WebView的使用
- 第4章 初始化和清除
- struts2文件上传下载
- 安卓开发学习之014 Button应用详解(样式、背景、按钮单击、长按、双击、多击事件)
- Matlab拟合工具箱的几个误差参数说明
- Python 函数
- 【鸟哥的linux私房菜-学习笔记】Bash shell的变量功能及操作环境
- spring4整合dwr3
- mediawiki_1.25配置wikieditor编辑器