Floyed算法
此算法由Robert W. Floyd(罗伯特·弗洛伊德)于1962年发表在“Communications of the ACM”上。同年Stephen Warshall(史蒂芬·沃舍尔)也独立发表了这个算法。Robert W.Floyd这个牛人是朵奇葩,他原本在芝加哥大学读的文学,但是因为当时美国经济不太景气,找工作比较困难,无奈之下到西屋电气公司当了一名计算机操作员,在IBM650机房值夜班,并由此开始了他的计算机生涯。
floyed是用动态规划解决完全最短路的算法,一次调用即可得到任意两个点间的最短路径,复杂度为O(n^3),适用于稠密图,顶点数一般在100以内适用,结构简单,易于编写。loyed算法还可解决传递闭包,判断图是否为连通图,在解题时候一般不会只考 floyed 而是利用floyed 得到的结果,进行下一步解题。
Floyed算法适用于求多源最短路的问题,即求任意两点之间最短路径。它和SPFA的相同点就是都可以求有负权值的边,但是不能有负回路。不同点就是SPFA算法处理的是单源最短路问题,而Floyd是求的是多源最短路问题。