NetworkX所有最短路径算法和scipy floyd warshall算法之间有什么区别?是否有理由偏爱另一个?哪个最快?
答案 0 :(得分:2)
(对于那些不知道网络x中可用的numpy floyd-warshall算法的人)
floyd_warshall_numpy的networkx description声明:
当Dijkstra算法失败时,Floyd算法适用于在密集图或具有负权重的图中查找最短路径。如果存在负循环,则该算法仍然可能失败。它的运行时间为O(n ^ 3),运行空间为O(n ^ 2)。
networkx single_source_shortest_path在稀疏图上效果更好。您应该知道,如果使用各种“shortest_path”算法,这些算法会忽略边权重。各种Dijkstra算法都包含边权重。
有更多说明here。