码迷,mamicode.com
首页 > 编程语言 > 详细

四大最短路径算法比较

时间:2017-08-23 23:04:40      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:编码   顶点   sdn   blank   tle   算法   扩展   最短路   class   

 FloydDijkstraBellman-Ford队列优化的Bellman-ford
空间复杂度 O(N²) O(M) O(M) O(M)
时间复杂度 O(N3) O((M+N)logN) O(NM) O(NM)
适用情况 稠密图,和顶点关系密切 稠密图,和顶点关系密切 稀疏图,和边关系密切 稀疏图,和边关系密切
负权 可以解决 不能解决 可以解决 可以解决

注1:N为定点数,M为边数

注2:  Floyd的编码复杂度较小,均摊到每个点上的时间复杂度并不算太高,如果是求所有点对间的最短路径,或数据范围较小,Floyd算法较为合适

注3: Dijkstra用堆优化后,时间复杂度可以达到O(MlogN),具有良好的扩展性,最大的缺点是不能解决负权的问题

 

四大最短路径算法比较

标签:编码   顶点   sdn   blank   tle   算法   扩展   最短路   class   

原文地址:http://www.cnblogs.com/dailinfu/p/7420496.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!