最短路径问题 (一些乱七八糟的总结)


· BFS——单源无权最短路径

· Dijsktra——单源有权最短路径

· 无负权边

· 基于贪心

· 朴素版Dijsktra  O(n^2)  适用于稠密图       

//朴素版的基于链式前向星和邻接表的时间复杂度为 O((n+m)logn) ,对于稠密图来说比 O(n^2) 还慢。

· 堆优化版Dijsktra  O(mlogn)  适用于稀疏图

· Bellman-Ford——有向图单源有权最短路径

· 有负权边

· O(nm)

· SPFA——有向图单源有权最短路径

· Bellman-Ford的队列优化

· 可有负权边,不能有负环

· 一般O(m) 最坏O(nm)  

· Floyd——多源汇最短路

· 可有负权边

· 基于动态规划

· O(n^3)       //n<=800