单源最短路径两个重要算法

来源:互联网 发布:遗传算法 java实现 编辑:程序博客网 时间:2024/05/21 17:35

单源最短路径两个重要算法:BellmanFord 和 Dijkstra。

BellmanFord:

可以解决带负权的单源最短路径问题,能够检测回路中的负权环。也常用于查分约束系统问题的求解。

时间复杂度为 O(VE)。

Dijkstra:

用于求解非负权的单源最短路径问题。

时间复杂度:根据数据的存储有关系,采用最小优先队列可以达到复杂度的下限,(Prim最小生成树也可以用最小优先队列进行优化处理)。

另外:

有向无回路图中的单源最短路径问题:即先对原图进行拓扑排序,然后按照拓扑排序后的顺序依次执行一遍松弛操作即可,时间复杂度为 O(V+E)。

【BellmanFord主要算法思想和函数】

 


【Dijkstra主要算法思想和函数】

 

 

如果原作者认为侵权,请与我联系!

 

原创粉丝点击