码迷,mamicode.com
首页 >  
搜索关键字:最小生成树算法之 dijkstra算法    ( 795个结果
Bellman-Ford——解决负权边
Dijkstra算法虽好,但是不能解决带负权边的图,而Bellman-Ford就是解决这个问题的 在一个含有n个顶点的图中,任意两点之间的最短路径最多包含n-1条边,最短路径中不可能包含回路. 最短路径是一个不包含回路的简单路径,回路分为正权回路(回路权值之和为正)和负权回路(回路权值之和为负). 如果最短路径中包含正权回路,那么去掉这个回路,一定可以得到更短的路径;如果最短路径中包含...
分类:其他好文   时间:2014-12-04 23:15:21    阅读次数:283
Dijkstra算法——通过边实现松弛
算法思想:每次找到离源点最近的顶点,然后以该顶点为中心进行扩展,最终得到源点到其余所有点的最短路径.时间复杂度是O(N^2). 基本步骤: 将所有的顶点分为两部分,已知最短路程的顶点集合S和未知最短路径的顶点集合V. 最开始,已知最短路径在集合S中只有源点一个顶点,用book数组来标记哪些点在集合S中.设置源点p到自己的最短路径为0(即dis[p] = 0). 若存在有源点能直接到达的...
分类:编程语言   时间:2014-12-04 21:39:59    阅读次数:269
九度 题目1008:最短路径问题
最短路径问题,首先想到了贪心算法实现的dijkstra算法;这道题我用了链表的存储方式,其实用邻接矩阵也可以,主要为了练手,并且链表比矩阵要节约空间; 题目描述: 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。 输入: 输入n,m,点的编号是1~n,然后是m行,每行4个数 ...
分类:其他好文   时间:2014-12-04 15:36:05    阅读次数:165
Dijkstra算法求最短路
数据结构课图作业之最短路。 1 #include 2 #include 3 using namespace std; 4 5 #define N 120 6 #define INF 0x3f3f3f3f 7 #define _clr(x, y) memset(x, y, sizeof(x)) ...
分类:编程语言   时间:2014-12-03 14:15:24    阅读次数:112
Sicily 1031. Campus 解题报告
1031_Campus题目链接:http://soj.me/1031题目大意:给出四个校区的一些地点之间的距离,地点名用字符串来表示,问某两个地点之间的最短路径长度,典型的单源最短路径题目思路:单源最短路径问题可以用dijkstra算法实现,这道题比较麻烦的是用字符串来表示地点,我用的处理方法是建立...
分类:其他好文   时间:2014-11-26 10:56:02    阅读次数:232
一个人的旅行(杭电oj2066)(Dijkstra算法)
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 20267    Accepted Submission(s): 7081 Problem Description 虽然草儿是个路痴(就是在杭电待了一年...
分类:编程语言   时间:2014-11-22 18:56:12    阅读次数:205
Sicily 1321. Robot 解题报告
1321_Robot题目链接:http://soj.me/1321题目大意:给一个矩阵,每一个点上面的数字表示走到该点需要的花费,找出给定起点到终点的最小总花费思路:每个格子看作一个结点,花费可以看作从上一个点走到这个点的路程,那么这道题就是典型的最短路径问题,可以用Dijkstra算法解决。一开始...
分类:其他好文   时间:2014-11-21 01:26:41    阅读次数:235
为什么Dijkstra算法不适用边长为负数的情况
Dijkstra算法,是有向/无向加权图(就是每条边都有长度)中,计算两个点之间最短距离的有效方法,在使用堆排序的情况下,它的时间复杂度为O(Nlog(N+M)),(这里N代表节点数,M代表边数)很接近线性了,还是非常好的。 不过,Dijkstra算法有一个限制,就是它只适用于边长不为负的图。如果一张图里有负数长的边长,那么Dijkstra算法就不适用了。这时候就需要另外的算法了。 为什么不适用呢?其实很容易就可以找到反例。...
分类:编程语言   时间:2014-11-20 23:46:29    阅读次数:278
java实现floyd统计天津地铁的站点距离
一:说明 (1)使用floyd实现各个站点的计算记录和路径 (2)站点获取和初始距离根据外部文件得到 (3)结果以外部文件的形式存储 (4)站点间转乘,认为初始值也为1 (5)代码注释比较详细,如有疑问或者代码有,请联系我,谢谢 (6)java中二维数据的定义:      a:  float[][] numthree;             //定义一个float类型的2维数组 ...
分类:编程语言   时间:2014-11-13 12:58:05    阅读次数:209
Dijkstra算法
Dijkstra算法又称单源点距离最短问题设一个图中有V0,V1,V2,V3...等顶点,这里设求的是V0到V1,V2,...的最短距离基本思想V0到剩余顶点的直接距离dist[](不经过其他任何节点,没有联通的设为无穷大)中,找出一个最小的,设其顶点为V1,这里我们就求出了V0到V1的最短距离。将...
分类:编程语言   时间:2014-11-12 00:20:15    阅读次数:273
795条   上一页 1 ... 66 67 68 69 70 ... 80 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!