最短路径 Dijkstra算法 AND Floyd算法
无权单源最短路:直接广搜
void Unweighted ( vertex s)
{
    queue <int> Q;
    Q.push( S );
    while( !Q.empty() )
    {
        V = Q.front();
        Q.pop();
        for( each W adjacent to V )
        {
            if( dist[W] == -1 )
            {
                dist[W] = dist[V] + 1;
                path[W] = V;
                Q.push( W );
            }
        }
    }
}
dist[W] = S ---- W of MinDist;
dist[S] = 0;
path[W] = S ---> W of vertex
Dijkstra算法思路:有权单源最短路
void Dijkstra ( )
{
    while( 1 )
    {
        V = smallest unknow distance vertex;   //未收录顶点中dist最小者
        if( no  V )                            //V不存在
            break;
        collected[V] = true;                   //收录
        for( each W adjacent to V )            //V的每个邻接点W
        {
            if( collected[W] == false )        //如果未收录
            {
                if( dist[V] + E(V, W) < dist[W] )
                {                              //路径变短,更新一下
                    dist[W] = dist[V] + E(V, W);
                    path[W] = V;               //path记录路径
                }
            }
        }
    }
}
Floyd算法思路:多源最短路,不过因为其代码简单,在时间要求宽松时求给定两点的最短路也可以用Floyd算法
void Floyd ( )
{
    for( i=0; i<n; i++ )
    {
        for( j=0; j<n; j++ )
        {
            D[i][j] = G[i][j];
            path[i][j] = -1;
        }
    }
    for( k=0; k<n; k++ )
    {
        for( i=0; i<n; i++ )
        {
            for( j=0; j<n; j++ )
            {
                if( D[i][k] + D[k][j] < D[i][j] )
                {
                    D[i][j] = D[i][k] + D[k][j];
                    path[i][j] = k;
                }
            }
        }
    }
}
												
											最短路径 Dijkstra算法 AND Floyd算法的更多相关文章
- 最短路径——Dijkstra算法和Floyd算法
		
Dijkstra算法概述 Dijkstra算法是由荷兰计算机科学家狄克斯特拉(Dijkstra)于1959 年提出的,因此又叫狄克斯特拉算法.是从一个顶点到其余各顶点的最短路径算法,解决的是有向图(无 ...
 - 最短路径Dijkstra算法和Floyd算法整理、
		
转载自:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html 最短路径—Dijkstra算法和Floyd算法 Dijks ...
 - 【转】最短路径——Dijkstra算法和Floyd算法
		
[转]最短路径--Dijkstra算法和Floyd算法 标签(空格分隔): 算法 本文是转载,原文在:最短路径-Dijkstra算法和Floyd算法 注意:以下代码 只是描述思路,没有测试过!! Di ...
 - 最短路径—Dijkstra算法和Floyd算法
		
原文链接:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html 最后边附有我根据文中Dijkstra算法的描述使用jav ...
 - 最短路径—Dijkstra算法和Floyd算法【转】
		
本文来自博客园的文章:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html Dijkstra算法 1.定义概览 Dijk ...
 - 图的最短路径——dijkstra算法和Floyd算法
		
dijkstra算法 求某一顶点到其它各个顶点的最短路径:已知某一顶点v0,求它顶点到其它顶点的最短路径,该算法按照最短路径递增的顺序产生一点到其余各顶点的所有最短路径. 对于图G={V,{E}};将 ...
 - 【转载】最短路径—Dijkstra算法和Floyd算法
		
注意:以下代码 只是描述思路,没有测试过!! Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始 ...
 - 最短路径—Dijkstra 算法和Floyd 算法
		
某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多.这让行人很困扰. 现在 ...
 - C++编程练习(11)----“图的最短路径问题“(Dijkstra算法、Floyd算法)
		
1.Dijkstra算法 求一个顶点到其它所有顶点的最短路径,是一种按路径长度递增的次序产生最短路径的算法. 算法思想: 按路径长度递增次序产生算法: 把顶点集合V分成两组: (1)S:已求出的顶点的 ...
 - 最小生成树(prime算法 & kruskal算法)和 最短路径算法(floyd算法 & dijkstra算法)
		
一.主要内容: 介绍图论中两大经典问题:最小生成树问题以及最短路径问题,以及给出解决每个问题的两种不同算法. 其中最小生成树问题可参考以下题目: 题目1012:畅通工程 http://ac.jobdu ...
 
随机推荐
- linux之sort用法
			
sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式: sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容,以行为单位来排序. 参 数 ...
 - Jenkins+maven+SVN构建java项目中遇到的问题及解决
			
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a g ...
 - 【287】◀▶ arcpy 常用类说明
			
ArcPy 类列表(按字母顺序) 01 Raster 创建一个可在 Python 脚本或地图代数表达式中使用的栅格对象. 02 Cursor Cursor 是一种数据访问对象,可用于在表中迭代 ...
 - Bootstrap 学习资料
			
1.Bootstrap中文文档 2.Bootstrap3.1.1 DEMO 3.Bootstrap教程 4.Sco.js--Bootstrap javascript组件的增强版 如果,您认为阅读这篇博 ...
 - 对象序列化中transient关键字的用途
 - centos7 安装erlang rabbitMQ
			
环境: 虚拟机 centos7 minimal 一.安装Erlang 1.安装依赖 yum install build-essential openssl openssl-devel unixODBC ...
 - POJ 3169 C - Layout
			
题意 有n头奶牛从1到n编号,按照编号顺序站成一排,有可能有多头奶牛站在同一个坐标上.一些奶牛互相喜欢,所以他们的距离不能大于某个距离,一些奶牛互相讨厌,所以他们的距离不能小于某个距离,请计算如果可能 ...
 - 带你剖析WebGis的世界奥秘----瓦片式加载地图(转)
			
带你剖析WebGis的世界奥秘----瓦片式加载地图 转:https://zxhtom.oschina.io/zxh/20160805.html 编程 java 2016/08/05 0留言, ...
 - Customizing Site-Wide Behavior for ASP.NET Web Pages (Razor) Sites
			
Customizing Site-Wide Behavior for ASP.NET Web Pages (Razor) Sites By Tom FitzMacken|February 17, 20 ...
 - poj2299 Ultra-QuickSort(线段树求逆序对)
			
Description In this problem, you have to analyze a particular sorting algorithm. The algorithm proce ...