1.如果将dijkstra算法依次应用于一个顶点,与floyd算法相比,路径和结果的计算会重复很多次,虽然复杂度相同,但计算量要少得多。更重要的是,dijkstra算法的前提是图中的路径长度必须大于或等于0,而floyd算法只要求不存在和小于0的循环,因此floyd算法比dijkstra算法应用更广泛。
首先,在不考虑时间复杂度的情况下,解决了图论中的最短路径问题。这个基本问题也可以推广到许多其他的理论或实践问题。
最短路径问题有一个理想的时间复杂度(<=o(n^2)),但是如果我们找到图中任意两点之间的距离,特别是当图是稠密的时候,floyd的o(n^3)就不比其他问题小。
floyd的另一个优势是易于编写。完成了插点、三循环、一判断、五要素的简单构思。dijkstra在堆优化和spfa之后需要大约50行代码。