Dijkstra算法是处理单源最短路径的有效算法,但它局限于边的权值非负的情况,若图中出现权值为负的边,Dijkstra算法就会失效,求出的最短路径就可能是错的。这时候,就需要使用其他的算法来求解最短路径,Bellman-Ford算法就是其中最常用的一个。该算法由美国数学家理查德?贝尔曼(Richa...
分类:
其他好文 时间:
2014-05-08 21:13:08
阅读次数:
335
求最短路基本的算法:1>Dijkstra算法2>Bellman-Ford算法3>Floyd算法4>Floyd-Warshall算法5>Johnson算法6>A*算法题目:1.poj1062
昂贵的聘礼(中等) 此题是个经典题目;用Dijkstra即可;但是其中的等级处理需要一定的技巧; 要理解好那个...
分类:
其他好文 时间:
2014-05-08 21:00:38
阅读次数:
280
最短路径--负权环 (bellman_ford的应用)
分类:
其他好文 时间:
2014-05-07 20:17:21
阅读次数:
391
题意:首先会输入个 数l,r,c
接下来会如数l个r*c的矩阵,其实点为S,结束点为E,每个点都可以向六个方向走,东,南,西,北,上,下,求从起始点到结束点的最短路径。Sample Input3
4 5S.....###..##..###.#############.####...#########...
分类:
其他好文 时间:
2014-05-07 10:28:50
阅读次数:
376
对于边比较稠密的图,可以采用邻接矩阵(以顶点为中心)的方式表示,而边比较稀疏时,采用邻接表的结构更合适。两种都不能直观表达哪两个点相连或者最短路径是什么。
深度优先遍历类似于树的先根序遍历。与树不同的是,它需要对已经访问过的节点添加标记以免被重复遍历。
public class Depth {
/**
* 对k号节点深度遍历
* @param a
* @param col...
分类:
其他好文 时间:
2014-05-07 08:02:01
阅读次数:
293
Floyd算法所有顶点对之间的最短路径问题是:对于给定的有向网络G=(V,E),要对G中任意两个顶点v,w(v不等于w),找出v到w的最短路径。当然我们可以n次执行DIJKSTRA算法,用FLOYD则更为直接,两种方法的时间复杂度都是一样的。1.定义概览Floyd-Warshall算法(Floyd-...
分类:
其他好文 时间:
2014-05-06 00:34:06
阅读次数:
333
链路状态路由协议,基于EdsgerDijkstra的最短路径优先(SPF)算法。每台路由会站在自己的角度根据SPF算法确定开销。链路状态过程1.每台路由器了解其自身的链路。2.每台路由器负责“问候”直连网络中的相邻路由器,通过直连网络中的其他链路状态路由器呼唤hello数据包来达到目的..
分类:
其他好文 时间:
2014-05-05 12:19:35
阅读次数:
395
对于网图来说,最短路径,是指两顶点之间经过的边上权值之和最少的路径,并且我们称路径上的第一个顶点为源点,最后一个顶点为终点。最短路径的算法主要有迪杰斯特拉(Dijkstra)算法和弗洛伊德(Floyd)算法。本文先来讲第一种,从某个源点到其余各顶点的最短路径问题。这是一个按路径长度递增的次序产生最短...
分类:
其他好文 时间:
2014-05-02 18:31:51
阅读次数:
426
本文出自:http://blog.csdn.net/svitter
题意:最基础的Bell-man题目,寻找负环.告诉你有几个村庄,在村庄中有通路,通路走过去花费时间,通路是双向的,走虫洞可以使时间倒退,即负边.但是负边是单向的.
总结写在最前面:
Bell_Man算法最关键就在于判断有无负环;
Bell_man算法刚刚自学,还不是很明白.一开始觉得使用邻接矩阵即可,想松弛n-1次...
分类:
其他好文 时间:
2014-04-30 22:13:39
阅读次数:
274