关闭

迪杰斯特拉算法的证明

标签: 算法编程编码
478人阅读 评论(0) 收藏 举报
分类:

 

V0V8的最短距离:

迪杰斯特拉算法的思想是依次求出距离V01近,第2…….一直到第8近,也就是从距离V0最近到最远的点。而每求一个最近距离就修正V0到剩下点的最短距离。

A为包含V0和已经求得最短距离的点,BA的补集。现在需要证明的是:

从上一次求得的V0到剩下各点的距离中选出最短的设为Vn,该距离(即V0Vn)即为所有路径中V0Vn的最短路径。其实也是下一个(即除A中点之外)最短距离

证明:只需要证明V0Vn的上一个中转站一定带A中。

反证法:假设此点在B中,设为Vn-1,则意思就是V0Vn-1+Vn-1Vn<此时的V0Vn,既然如此,那意味着V0Vn-1<V0Vn,那意味着Vn-1必然在A中,因为比此时所要求的下一个最小距离V0Vn短的点都在A中了,而假设是在B中,因此矛盾,证毕。

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

迪杰斯特拉(Dijkstra)算法描述及其正确性证明

Dijkstra算法描述及其正确性证明
  • u012033027
  • u012033027
  • 2014-09-06 23:03
  • 5825

透彻理解迪杰斯特拉算法

Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,这个算法我主动学了三遍,第一主动学的时候,是看严蔚敏的《数据结构》,当时应该是学懂了,有点透彻地理解了这个算法,但是没有记录下来,后来就忘记了, 第二次主动学,就去网上找相关文章,看了不少关于这个算法的讲解,但总感觉都没有讲透,看得我二懂二...
  • mu399
  • mu399
  • 2016-03-16 12:04
  • 42131

Dijkstra和Prim算法 【含数学证明】

#ACM&算法 不知是不是因为自己的抽象学习能力还是不够强,之前在翻阅别人博客学习这两个算法的时候,整个人一直处于懵逼状态。 分析了一下,发现之前存在的博客教程,大多趋向于方法讲解,学完以后有知其然不知其所以然的感觉。另一部分博客则偏向数学证明,语言严谨但理解起来确实要费一番功夫。所以打...
  • Reskip
  • Reskip
  • 2016-02-17 20:10
  • 6514

算法导论-第24章 Dijkstra算法

Dijkstra算法
  • y519476132
  • y519476132
  • 2014-11-07 23:04
  • 1070

详解Dijkstra算法(含数学证明和优化)

Dijkstra算法简介:Dijkstra算法是由荷兰计算机科学家Edsger Wybe Dijkstra于1959年提出的一种解决有向加权图中单源最短路问题的算法,其中要求加权图中不可有负权边。 Dijkstra算法步骤演示 算法数学证明 Dijkstra算法优化
  • CrazyKeyboardMan
  • CrazyKeyboardMan
  • 2017-10-12 21:18
  • 324

最短路径问题---Dijkstra算法详解

前言 Nobody can go back and start a new beginning,but anyone can start today and make a new ending. Name:Willam Time:2017/3/81、最短路径问题介绍问题解释: 从图中的某个...
  • qq_35644234
  • qq_35644234
  • 2017-03-08 16:42
  • 19411

Dijkstra算法详解

1.dijkstra算法简介 Dijkstra算法是由E.W.Dijkstra于1959年提出,又叫迪杰斯特拉算法,它应用了贪心算法模式,是目前公认的最好的求解最短路径的方法。算法解决的是有向图中单个源点到其他顶点的最短路径问题,其主要特点是每次迭代时选择的下一个顶点是标记点之外距离源点最近的顶点...
  • longshengguoji
  • longshengguoji
  • 2013-08-31 19:03
  • 110152

最短路径之Dijkstra算法

本文简单描述了Dijkstra(迪杰斯特拉)算法,结合一个实例进行了算法流程描述,给出了C语言的算法实现。另外给了两个直接应用Dijkstra算法求解ACM题的链接。
  • u013071074
  • u013071074
  • 2014-06-09 16:37
  • 18552

数据结构--Dijkstra算法最清楚的讲解

迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。 它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止基本思想 通过Dijkstra计算图G中的最短路径时,需要指定起点s(即从顶点s开始计算)。 此外,引进两个集合S和U。S...
  • heroacool
  • heroacool
  • 2016-03-30 15:10
  • 11088

JAVA实现最短距离算法之迪杰斯特拉算法

最短路径问题是图论研究中的一个经典的算法问题,旨在寻找图中两个节点之间的最短路径,最常用的算法有Dijkstra算法、SPFA算法\Bellman-Ford算法、Floyd算法\Floyd-Warshall算法、Johnson算法等,这篇博客将重点介绍Dijkstra算法
  • xiaojimanman
  • xiaojimanman
  • 2016-03-14 22:13
  • 10501
    个人资料
    • 访问:2215次
    • 积分:96
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类