本文记录一下dijkstra算法的实现,图用邻接矩阵表示,假设图为无向图,并且连通,有向图,不连通图的做法类似。算法简述:
首先确定“单源”的源,假设是第0个顶点。
维护三个数组dist[], color[], path[],设其下标分别为0…i…n-1:
dist[] 表示源点到顶点i的最短距离,在初始化时,如果源点到顶点i有路径,则初始化为路径的权重,否则初始化为INT_MAX;
c...
分类:
编程语言 时间:
2015-07-06 23:30:57
阅读次数:
188
原文链接:http://www.cnblogs.com/Jason-Damon/archive/2012/04/21/2460850.html摘自百度百科 Bellman-ford算法是求含负权图的单源最短路径算法,效率很低,但代码很容易写。即进行不停地松弛(relaxation),每次松弛把每条边...
分类:
编程语言 时间:
2015-06-29 23:51:20
阅读次数:
258
1.介绍: SPFA算法:单源最短路径算法,一种高效的最短路径算法!2.思路 (1)初始化 1>源点路径为0 :d[s]=0 ,其中s为源点 2>初始化d[N]为无穷大,即d[i]表示,源点s到i为无穷大INF 3>p[N]初始化为源点s或-1,表示没有前驱 (2)队列+松...
分类:
编程语言 时间:
2015-06-24 14:31:09
阅读次数:
131
#include
#include
#define INFINITY 32768
#define VERTEX_MAX 50
using namespace std;
typedef char VertexType; //顶点类型
typedef int AdjType; //边的关系类型
typedef struct {
VertexType...
分类:
编程语言 时间:
2015-06-23 21:35:35
阅读次数:
120
转载链接:http://blog.csdn.net/niushuai666/article/details/6791765Dijkstra算法是处理单源最短路径的有效算法,但它局限于边的权值非负的情况,若图中出现权值为负的边,Dijkstra算法就会失效,求出的最短路径就可能是错的。这时候,就需要使...
分类:
其他好文 时间:
2015-06-16 12:44:48
阅读次数:
95
这道题一开始我用dfs写了一次 = = 结果时间超限对于这种最短路径的问题来讲,效率更高的肯定是Floyd算法和Dijkstra算法单源最短路径最好自然是用Dijkstra,不过Floyd写起来简单,我就这样写咯#include #define INF 99999using namespace st...
分类:
其他好文 时间:
2015-06-11 22:31:57
阅读次数:
119
ZOJ– 2770Burn the Linked Camp单源最短路径差分约束系统
分类:
其他好文 时间:
2015-06-11 20:57:31
阅读次数:
145
计划任务: 地图是在百度地图中截取部分学校地图部分,如图为了计算路径节点信息,用画图简略画出路径与建筑物节点等,如图初步决定采用数据结构迪杰斯特拉算法计算最短路径
分类:
其他好文 时间:
2015-06-06 21:51:12
阅读次数:
138
一 最短路径最短路径分为单源最短路径和任意两点的最短路径,前者用Dijkstra算法,后者用floyed算法。Dijkstra算法是一种广度优先算法,以起始点层层往外扩展,直至到终点为止。其把顶点分为两个集合: 1. 已经求出最短路径的节点集合 S 2. 未确定最短路径的顶点集合U通过逐渐把U中.....
分类:
编程语言 时间:
2015-06-04 11:43:44
阅读次数:
163
[次短路径]次短路径可以看作是k短路径问题的一种特殊情况,求k短路径有Yen算法等较为复杂的方法,对于次短路径,可以有更为简易的方法。下面介绍一种求两个顶点之间次短路径的解法。我们要对一个有向赋权图(无向图每条边可以看作两条相反的有向边)的顶点S到T之间求次短路径,首先应求出S的单源最短路径。遍历有...
分类:
其他好文 时间:
2015-06-02 17:26:26
阅读次数:
100