前几节我们针对图的最短路径,依依分析描述了各个算法。
Floyd-Warshall算法http://blog.csdn.net/wtyvhreal/article/details/43315705
Dijkstra算法http://blog.csdn.net/wtyvhreal/article/details/43447497
Bellman-Ford算法http://blog.csdn.net/wtyvhreal/article/details/43450727Bellman-Ford队列优化http://blog.csdn.net/wtyvhreal/article/details/43453151
Floyd算法:
时间复杂度高,可以解决负权边,并且均摊在每一点对上,在所有算法中还是属于较优的。较小的编码复杂度也是优势,如果要求是所有点之间的最短路径,或者如果数据范围较小,Floyd算法比较适合。
Dijkstra算法:
无法解决负权边的图,但有良好的可扩展性,时间复杂度低,堆优化后的Dijkstra的时间复杂度可以达到O(MlogN)。
Bellman-Ford算法:
可以解决负权边的图,可以判断是否有负权回路。