Dijkstra算法

又称迪杰斯特拉算法,是一个经典的最短路径算法,主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止,使用了广度优先搜索解决赋权有向图的单源最短路径问题,算法最终得到一个最短路径树。时间复杂度为O(N^2)

执行动画:

实例:

抽象步骤:

1.将起点A放入集合中,A点的权值为0,因为A->A=0。

2.与起点A相连的所有点的权值设置为A->点的距离,连接不到的设置为无穷。并且找出其中最小权值的B放入集合中(此时A->B必定为最小距离)。

3.与B点相连的所有点的权值设置为B->点的距离,并且找出其中最小权值的C点放入集合中(此时C的权值必定为其最小距离)。

4.重复步骤3,直至所有点加入集合中。便能得到所有点与A点的最短距离。

Floyd算法

全称Floyd-Warshall算法,又称佛洛依德算法,是解决任意两点间的最短路径的一种算法,但是时间复杂度比迪杰斯特拉要高,时间复杂度为O(N^3)吗,空间复杂度为O(N^2)。

简单案例:

步骤:

1.将图转化成矩阵:

2.选择V0点作为第一个中间点:

3.进行V0中间点是否能缩短另外两点间距离的判断:简而言之就是非对角线处(红箭头处)进行加法判断,<则替换。

4.对后续点进行步骤2-3相应的操作。

范例:

INF表示无穷大。

from:

http://blog.csdn.net/jerry81333/article/details/54772709

the shortest path algorithm的更多相关文章

  1. 最短路径Shortest Path algorithm

    最短路径问题: 如果从图中某一顶点(称为端点)到达另一顶点(称为终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边上的权值总和达到最小. (1)Dijkstra 算法 (2) Floyd 算 ...

  2. A Fast Priority Queue Implementation of the Dijkstra Shortest Path Algorithm

    http://www.codeproject.com/Articles/24816/A-Fast-Priority-Queue-Implementation-of-the-Dijkst http:// ...

  3. Method for finding shortest path to destination in traffic network using Dijkstra algorithm or Floyd-warshall algorithm

    A method is presented for finding a shortest path from a starting place to a destination place in a ...

  4. Proof for Floyd-Warshall's Shortest Path Derivation Algorithm Also Demonstrates the Hierarchical Path Construction Process

    (THIS BLOG WAS ORIGINALLY WRTITTEN IN CHINESE WITH LINK: http://www.cnblogs.com/waytofall/p/3732920. ...

  5. zoj 2760 How Many Shortest Path 最大流

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1760 Given a weighted directed graph ...

  6. The Shortest Path in Nya Graph

    Problem Description This is a very easy problem, your task is just calculate el camino mas corto en ...

  7. Shortest Path(思维,dfs)

    Shortest Path  Accepts: 40  Submissions: 610  Time Limit: 4000/2000 MS (Java/Others)  Memory Limit: ...

  8. Shortest Path

    Shortest Path Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

  9. (中等) HDU 4725 The Shortest Path in Nya Graph,Dijkstra+加点。

    Description This is a very easy problem, your task is just calculate el camino mas corto en un grafi ...

随机推荐

  1. Confluence 6 升级完成后的检查

    这个页面中的文章将会为 Confluence 管理员为 Confluence 升级完成后 提供检查列表以确保 Confluence 的升级顺利完成.这个检查列表没有包含所有需要检查的错误,但是将会检查 ...

  2. Python面向对象 -- 继承和多态、获取对象信息、实例属性和类属性

    继承和多态 继承的好处: 1,子类可以使用父类的全部功能 2,多态:当子类和父类都存在相同的方法时,子类的方法会覆盖父类的方法,即调用时会调用子类的方法.这就是继承的另一个好处:多态. 多态: 调用方 ...

  3. class类初始化之后调用赋值问题记录

    class PWSTRDELL: def __init__(self, pw_str):#该方法在类实例化时会自动调用 self.pw = pw_str self.strength_level = 0 ...

  4. 小程序getLocation出现的各种问题汇总

    1.小程序无法弹出授权位置的弹框: 需要在app.json中增加相关配置文件: "permission": { "scope.userLocation": { ...

  5. c# Winform Chart入门

    额外参考链接:http://www.cnblogs.com/greenerycn/archive/2008/10/27/microsoft-chart.html winform 仪表盘相关下载链接:/ ...

  6. Oracle单机Rman笔记[3]---RMAN脱机备份及命令基础介绍

    A.NOARCHIVELOG模式下的物理备份 1.完全关闭数据库 2.备份所有的数据库文件.控制文件.联机重做日志 3.重新启动数据库 B.RMAN的体系结构概述 重新构建控制文件: 将控制文件备份为 ...

  7. css--颜色值

    首先,#000000格式的颜色被成为十六进制颜色码: 6位数分为三组,每两位数一组,依次是红.黄.蓝颜色的强度: #000000可以缩写为#000:黑色 其他类推

  8. css属性应用bug大杂烩(后续继续更新)

    一.Flex布局使用时的坑: 1.常见的左右分布的flex布局中,左侧给定宽度,右侧占满剩余空间,但当右侧中文字内容很多时,会挤占左侧空间,时左侧不能按照定宽显示. <style> .fa ...

  9. python 统计单词个数,并按个数与字母排序

    # coding: utf-8 # In[1]: import collections str = "Be slow to promise and quick to perform" ...

  10. centos7 无界面静默安装 oracle

    环境准备 Centos7.3.64  64位   这里使用的是阿里云 ECS主机(1核,2G内存,40G硬盘) Oracle 11g R2 64位安装介质(版本11.2.0.1)下载地址:http:/ ...