最短路算法
1.Diikstra单源最短路,适用于正权图,时间复杂度O(nlogm)
2.Floyd全源最短路,适用于正权图,时间复杂度O(n^3)【边比较多点较少的图】
其实还有一种常见的单源最短路算法,BellmanFord算法,可以判断负值,但是时间复杂度较高。
Johnson算法3步走
1.设置超级源点,用Bellmanford求单源最短路得到势能
2.在势能帮助下重新设置每条边的权重
3.跑n次Diikstra算法计算出所有为中心的单源最短路,即得到了全源最短路
1.Diikstra单源最短路,适用于正权图,时间复杂度O(nlogm)
2.Floyd全源最短路,适用于正权图,时间复杂度O(n^3)【边比较多点较少的图】
其实还有一种常见的单源最短路算法,BellmanFord算法,可以判断负值,但是时间复杂度较高。
1.设置超级源点,用Bellmanford求单源最短路得到势能
2.在势能帮助下重新设置每条边的权重
3.跑n次Diikstra算法计算出所有为中心的单源最短路,即得到了全源最短路