- 1. 介绍
- 2. 算法分析
- 3. 基本数据结构
- 4. 递归
- 5. 排序和搜索
- 6. 树和树的算法
- 7. 图和图的算法
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
7.21.Dijkstra算法分析
7.21.Dijkstra算法分析
最后,让我们看看 Dijkstra 算法的运行时间。我们首先注意到,构建优先级队列需要 O(V) 时间,因为我们最初将图中的每个顶点添加到优先级队列。 一旦构造了队列,则对于每个顶点执行一次 while
循环,因为顶点都在开始处添加,并且在那之后才被移除。 在该循环中每次调用 delMin
,需要 O(logV)时间。 将该部分循环和对 delMin 的调用取为 O(Vlog(V))。 for 循环对于图中的每个边执行一次,并且在 for 循环中,对 decreaseKey 的调用需要时间 O(Elog(V)) 。 因此,组合运行时间为 O((V+E)log(V))。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论