http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html上面的链接讲解的比较详细,下面是我自己的理解Dijkstra算法1.定义Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短...
                            
                            
                                分类:
编程语言   时间:
2014-12-17 22:34:55   
                                阅读次数:
273
                             
                    
                        
                            
                            
                                Dijkstra算法Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Floyd算法Floyd算法是一个经典的动态规划算法。用通俗的语言来描述的话,首先我们的目标是寻找从点i到点j的最短路径...
                            
                            
                                分类:
编程语言   时间:
2014-12-15 06:29:34   
                                阅读次数:
543
                             
                    
                        
                            
                            
                                一.算法介绍
Floyd算法是一种在有向图中求最短路径的算法。相比不能再有向图中包含负权值的dijkstra算法,Floyd算法可以用在拥有负权值的有向图中求解最短路径(不过不能包含负权回路)。它是一种求解有向图中点与点之间最短路径的算法。
我们检查有向图中的每一个节点X,对于图中过的2点A和B,如果有Dis(AX)+Dis(XB)
所以,核心代码很简单,其中N是顶点个数,时间复杂度为O(N...
                            
                            
                                分类:
编程语言   时间:
2014-12-14 09:28:18   
                                阅读次数:
305
                             
                    
                        
                            
                            
                                最短路径·二:Floyd算法
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
描述
万圣节的中午,小Hi和小Ho在吃过中饭之后,来到了一个新的鬼屋!
鬼屋中一共有N个地点,分别编号为1..N,这N个地点之间互相有一些道路连通,两个地点之间可能有多条道路连通,但是并不存在一条两端都是同一个地点的道路。
由于没有肚子的压...
                            
                            
                                分类:
编程语言   时间:
2014-12-13 21:53:03   
                                阅读次数:
380
                             
                    
                        
                            
                            
                                N代表顶点个数,M代表边的条数.
Floyd算法虽然总体时间复杂度,但是可以解决负权边(不能解决负权环,实际上这几种都无法解决负权回路,因为一直循环下去总能找到更小的路径),并且均摊到每一点对上,在所有的算法中还是比较好的. Floyd算法代码复杂度小也是一大优势. Dijkstra算法最大的弊端就是无法适应有负权边的图,但Dijkstra具有很好的可扩展性,另外在Dijkstra算法在选择剩余...
                            
                            
                                分类:
编程语言   时间:
2014-12-06 12:51:40   
                                阅读次数:
159
                             
                    
                        
                            
                            
                                虽然不是最短路,但是询问时任意两点之间的信息都要知道才能回答,由此联想到floyd算法,只要都floyd算法的原理理解清楚了就会发现:这道题的思想和求任意两点之间的最短路的一样的,只不过是更新的信息不同而已。这道题还有一个难点在于状态压缩:如果直接用字符串来表示maps[i][j],那么在floyd...
                            
                            
                                分类:
编程语言   时间:
2014-11-17 06:48:43   
                                阅读次数:
174
                             
                    
                        
                            
                            
                                一:说明
(1)使用floyd实现各个站点的计算记录和路径
(2)站点获取和初始距离根据外部文件得到
(3)结果以外部文件的形式存储
(4)站点间转乘,认为初始值也为1
(5)代码注释比较详细,如有疑问或者代码有,请联系我,谢谢
(6)java中二维数据的定义:
     a:  float[][] numthree;             //定义一个float类型的2维数组
...
                            
                            
                                分类:
编程语言   时间:
2014-11-13 12:58:05   
                                阅读次数:
209
                             
                    
                        
                            
                            
                                题目大概意思:输入n,m,n代表n个点,接着输入n个点之间的距离(n*n的矩阵),接下来m次询问,输入a,b,c如果a,b之间的最短路径中存在c点则输出Yes,否则输出No
比赛的时候没有做出来,赛后帆哥一点播就知道了。。。。我写的时候直接用floy算法求距离并记录路径。。然后TLE到死。。。我就奇怪了数据n,m都小于100,怎么会TLE啊。。。坑爹啊。。。我一直怀疑是不是用别的算法。。。。。帆...
                            
                            
                                分类:
编程语言   时间:
2014-11-09 22:22:59   
                                阅读次数:
224
                             
                    
                        
                            
                            
                                题意:给你n种货币,再给你m种保证每个货币能换成其他的货币,其中  两个货币之中给你它们的汇率。要你求出能不能找到一种兑换的方式,使得最后兑换为起始的货币,使得自己赚钱了
思路:这个题目也是一个建图的模型。可以假设出,从某点出发,回到原点,自己的价值还增大了,所以只需要汇率的乘积到起始点的时候大于1就可以了。所以,明显的Floyd算法。
AC代码:
#include
#include...
                            
                            
                                分类:
其他好文   时间:
2014-11-06 21:55:50   
                                阅读次数:
227
                             
                    
                        
                            
                            
                                Arbitrage
Time Limit: 1000MS
 
Memory Limit: 65536K
Total Submissions: 16127
 
Accepted: 6780
Description
Arbitrage is the use of discrepancies in currency exchange rates t...
                            
                            
                                分类:
编程语言   时间:
2014-10-24 09:18:36   
                                阅读次数:
225