#include
#include
#include
typedef char VertexType[4];
typedef char InfoPtr;
typedef int VRType;
#define INFINITY 100000 //定义一个无限大的值
#define MaxSize 50 //最大顶点个数
typedef int PathMatrix[MaxSize][MaxSi...
分类:
编程语言 时间:
2015-08-12 06:44:01
阅读次数:
188
Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性...
分类:
编程语言 时间:
2015-08-07 13:35:09
阅读次数:
213
原题: http://acm.hdu.edu.cn/showproblem.php?pid=1690题目大意:
图中的表是代表不同长度路径的花费,输入所有点的坐标,求任意两点间的最短花费。因为是求任意两点,这里最好是用floyd算法。
题中几大坑:
数据可能会超int,要用long long int;
坐标可以为负,求距离要用abs绝对值函数。参考代码如下:#include <iostre...
分类:
其他好文 时间:
2015-08-07 11:14:59
阅读次数:
117
今天继续加上最短路径的算法学习------floyd算法2.floyd算法,(罗伯特·弗洛伊德)-----各个顶点间的最短路径求的是在一个图中,各个顶点间的最短路径。算法描述1)算法思想各个顶点间的最短路径的情况,不外乎,两种情况。一是,点点相连,另一是,通过若干个中间点相连。因此,对于每个顶点来说...
分类:
编程语言 时间:
2015-08-04 22:21:18
阅读次数:
121
floyd算法和之前讲的bellman算法、dijkstra算法最大的不同在于它所处理的终于不再是单源问题了,floyd可以解决任何点到点之间的最短路径问题,个人觉得floyd是最简单最好用的一种算法,只不过它的时间复杂度高,为o(v^3),用的时候需要谨慎。floyd的精髓部分在于实现其思想的三个...
分类:
编程语言 时间:
2015-07-26 10:56:22
阅读次数:
138
44. 蛤蟆的数据结构笔记之四十四弗洛伊德Floyd算法
本篇名言:“希望是厄运的忠实的姐妹。 --普希金”
我们继续来看下数据结构图中的一个算法,这个算法来自图灵奖得主。
1. Floyd算法介绍
Floyd算法又称为插点法,是一种用于寻找给定的加权图中多源点之间最短路径的算法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。注意这个可不...
分类:
编程语言 时间:
2015-07-25 23:03:34
阅读次数:
291
六度分离Time Limit: 5000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5411Accepted Submission(s): 2195Problem Descri...
分类:
编程语言 时间:
2015-07-23 17:23:50
阅读次数:
157
题意:给定一个n节点m条边的无向图,定义c为每对顶点的最短路之和,要求删掉一条边重新求一个c值c',求出c'最大值.
思路:如果用floyd算法计算c,每尝试删除一条边都要重新计算一次,时间复杂度为O(n*n*n*m),很难承受。如果用n次Dijkstra计算单源最短路,时间复杂度味O(n*m*m*logn)。虽然看上去比之前的好,但由于佛洛依德算法的常数很小,实际运行时间差不多...
分类:
其他好文 时间:
2015-07-23 15:42:54
阅读次数:
94
题意:给出任意两头牛在比赛中的位次关系,求根据所给的数据,能确定几头牛的rank~
思路:求有向图的传递闭包问题~ 简单说,传递性就是如果点i和点k连通,点k和点j连通,那么点i和点j也连通~
由此我们就可以判断出图中任意两点是否相连。 这道题可以用floyd算法求解,最后判断所有与某个点相连的点的个数是否等于n-1,就可以得出结果辣~
AC代码:
#include
#include...
分类:
其他好文 时间:
2015-07-22 19:01:35
阅读次数:
99
Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论...
分类:
编程语言 时间:
2015-07-18 19:51:45
阅读次数:
211