通用的floyd算法程序,能够很好地解决最短路径问题,同时给出最短路的具体路径。
上传时间: 2013-12-25
上传用户:1109003457
Floyd-Warshall算法描述 1)适用范围: a)APSP(All Pairs Shortest Paths) b)稠密图效果最佳 c)边权可正可负 2)算法描述: a)初始化:dis[u,v]=w[u,v] b)For k:=1 to n For i:=1 to n For j:=1 to n If dis[i,j]>dis[i,k]+dis[k,j] Then Dis[I,j]:=dis[I,k]+dis[k,j] c)算法结束:dis即为所有点对的最短路径矩阵 3)算法小结:此算法简单有效,由于三重循环结构紧凑,对于稠密图,效率要高于执行|V|次Dijkstra算法。时间复杂度O(n^3)。 考虑下列变形:如(I,j)∈E则dis[I,j]初始为1,else初始为0,这样的Floyd算法最后的最短路径矩阵即成为一个判断I,j是否有通路的矩阵。更简单的,我们可以把dis设成boolean类型,则每次可以用“dis[I,j]:=dis[I,j]or(dis[I,k]and dis[k,j])”来代替算法描述中的蓝色部分,可以更直观地得到I,j的连通情况。
标签: Floyd-Warshall Shortest Pairs Paths
上传时间: 2013-12-01
上传用户:dyctj
实现了图的单源最短路径的floyd算法,欢迎评价
上传时间: 2013-11-29
上传用户:haohaoxuexi
简单的floyd运用 第一行输入一个整数C。C是测试的情况(0< C <=30).第二行一个正整数N( 0< N <=100),表示道路的总数.紧接N行,每一行包含两个字符串, Si,,Ti,和一个整数Di,代表从Si到Ti的距离(0<= Di <=150)。最后一行有两个字符串,S 和 T,你得找出从S 到 T的最短的距离。地名是不超过120个小写字符的串(从‘a’到‘z’)。假设这里最多有100条直接连通两个地方的路。 Output 输出包含C行,每一行对一种测试情况。对每一种测试情况,输出包含一个整数,假如S 到 T存在一条最短的路,输出从S到T的最短距离,否则输出“-1”. Sample Input 2 2 jiuzhouriver liuchi 89 liuchi liyuan 100 liuchi jiuzhouriver 3 youyongchi fengyuan 100 qinshi meiyuan 100 chaochang supermarkt 100 meiyuan youyongchi Sample Output 89 -1
上传时间: 2016-03-10
上传用户:wyc199288
解决图论中Warshall-Floyd 算法,Kruskal 避圈法,匈牙利算法,求最佳匹配的算法,求最大流的Ford--Fulkerson 标号算法,求解最小费用流问题的matlab程序
标签: Warshall-Floyd 图论 算法
上传时间: 2016-03-13
上传用户:jkhjkh1982
floyd算法 floyd算法 floyd算法 floyd算法
上传时间: 2013-12-18
上传用户:330402686
图论中求解不含负权环的多源动态规划算法floyd
上传时间: 2013-12-29
上传用户:liglechongchong
实现Floyd算法的程序,用vc++编写,清楚易懂
上传时间: 2016-04-02
上传用户:虫虫虫虫虫虫
用matlab来仿真floyd算法,并计算任意两点的最短路径和路由;
上传时间: 2013-12-24
上传用户:xiaoyunyun
基于MATLAB的 Floyd最短路算法
上传时间: 2016-05-08
上传用户:jackgao