这个算法主要要弄懂三个循环的顺序关系。弗洛伊德(Floyd)算法过程:1、用D[v][w]记录每一对顶点的最短距离。2、依次扫描每个点,并以其为基点再遍历全部每一对顶点D[][]的值,看看是否可用过该基点让这对顶点间的距离更小。算法理解:最短距离有三种情况:1、两点的直达距离最短。(例如以下图)2、...
分类:
其他好文 时间:
2014-09-28 22:57:25
阅读次数:
216
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1869分析:这题可以用最短路来做,把认识的两个人看做相距为1的两个点,而不认识的两个人,看做相距为无穷大的两个点,就可以用最短路来做了,对于点数小于100用Floyd算法就可以了,这个题用Dijkstra,...
分类:
其他好文 时间:
2014-09-26 20:21:58
阅读次数:
181
上一篇博文中讲了Dijkstra算法,这次博文要讲解的是floyd算法,其中Dijkstra算法是属于贪心算法,而floyd算法是动态规划的一个算法:
具体的算法如下:
其中一个矩阵是用来存放最短路径的,另外一个矩阵是用来存放前驱顶点的;
#include
using namespace std;
#define Max 5
#define Infinity 65535
void ma...
分类:
其他好文 时间:
2014-09-25 11:17:09
阅读次数:
208
题目链接:POJ 2112 Optimal Milking
Optimal Milking
Time Limit: 2000MS
Memory Limit: 30000K
Total Submissions: 12446
Accepted: 4494
Case Time Limit: 1000MS
D...
分类:
其他好文 时间:
2014-09-25 03:56:18
阅读次数:
404
图结构中应用的最多的就是最短路径的查找了,关于最短路径查找的算法主要有两种:迪杰斯特拉算法(Dijkstra)和Floyd算法。
其中迪杰斯特拉算法(Dijkstra)实现如下:
原理就是不断寻找当前的最优解:
void main()
{
int V[Max][Max]={0,8,32,Infinity,Infinity,
12,0,16,15,Infinity,
Infinity...
分类:
其他好文 时间:
2014-09-24 23:56:27
阅读次数:
295
弗洛伊德算法介绍 和Dijkstra算法一样,弗洛伊德(Floyd)算法也是一种用于寻找给定的加权图中顶点间最短路径的算法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名...
分类:
编程语言 时间:
2014-09-22 15:50:12
阅读次数:
314
Floyd算法可以求图内任意两点之间的最短路径,三重循环搞定,虽然暴力,但是属于算法当中最难的动态规划的一种,很有必要理解。花了一晚上和半个下午专门看这个,才看个一知半解,智商被碾压没办法。我一直怀疑这种办法会不会漏情况,是不是一定正确,脑子里想特殊用例,却把脑子想乱了。收藏这么几个网址,从数学证明...
分类:
其他好文 时间:
2014-09-19 17:23:05
阅读次数:
328
1)问题描述n个村庄之间的交通图可以用有向网图来表示,图中边上的权值表示从村庄i到村庄j的道路长度。现在要从这n个村庄中选择一个村庄新建一所医院,问这所医院应建在哪个村庄,才能使所有的村庄离医院都比较近?2) 基本要求(1) 建立模型,设计存储结构;(2) 设计算法完成问题求解;(3) 分析算法的时...
分类:
其他好文 时间:
2014-09-18 20:33:44
阅读次数:
384
这个题,要用floyd算法:/*ID: qq104801LANG: C++TASK: cowtour*/#include #include #include #include #include #include #include #include #include #include #define ...
分类:
其他好文 时间:
2014-09-06 23:46:14
阅读次数:
447
一、最短路问题
1、图的存储方式
2、Floyd算法求多源最短路
3、Dijsktra算法求单源最短路
4、Bellman-Ford算法求单源最短路
5、SPFA求单源最短路
(1)Wikioi 1173 最优贸易
题目描述 Description
【问题描述】
C 国有n 个大城市和m 条道路,每条道路连接这n 个城市中的某两个城市。任意两个
城市之间最多只有一条道路直...
分类:
其他好文 时间:
2014-09-06 09:46:33
阅读次数:
216