首页 > 其他分享 >dijkstra 正确性证明

dijkstra 正确性证明

时间:2023-02-04 13:23:21浏览次数:42  
标签:短路 源点 扩展 证明 正确性 dijkstra dis

算法过程

定义 S 为已确定最短路的点的集合;\(dis_i\) 存储当前从源点 1 到 \(i\) 的最短路径。

初始状态: \(dis_1=0\),\(dis_{2..n}=\) INF,S 为空。

  1. 在未确定最短路的点中选出 \(dis\) 值最小的点 \(k\),将 \(k\) 加入 S 集合。
  2. 扩展 \(k\)。(扩展即为用 \(dis_k\) 更新与 \(k\) 相连的点的 dis 值)

重复 1、2 步骤,直到所有点都加入 \(S\) 集合。

正确性证明

已知:当前 \(S\) 中的节点都已进行扩展。
要证明:在未确定最短路的点中选出 \(dis\) 值最小的点 \(k\),\(dis_k\) 就是源点到 \(k\) 的最短路。

证:
假设 \(dis_k\) 不为 \(k\) 的最短路,
在 \(k\) 的最短路径上找出第一个不在 \(S\) 中的点 \(p_i\), \(p_i \neq k\) (一定有这样一个 \(p_i\);\(Path_k\):1-...-\(p_i\)-...-k);1...k 长度(真正最短路)\(\ge\) 1...p 长度(\(p\) 的最短路长度)
考察当前 \(dis[p_i]\) 的值,由于“当前 \(S\) 中的节点都已进行扩展,\(dis[p_i]\) 的值就是 \(p_i\) 的最短路,\(dis[p_i]<=dis[k]\)。
如果 \(dis[p_i]<dis[k]\) ,矛盾。
如果 \(dis[p_i]=dis[k]\),可推出 \(dis[k]\) 为最短路,矛盾。

标签:短路,源点,扩展,证明,正确性,dijkstra,dis
From: https://www.cnblogs.com/Jiayn/p/17091308.html

相关文章

  • 闭区间可导函数在在两个端点处连续的证明
    如果一个函数在闭区间\([a,b]\)内可导,那么首先\(f^{'}\)在区间\((a,b)\)任意一点都存在,且如下两个极限存在\[\lim_{h\rightarrow0^+}\frac{f(a+h)-f(a)}{h}\\\lim_{h......
  • Lucas定理证明
    描述:当为大数,为素数时,Lucas定理是用来求的值。适用领域范围:在数论中求大组合数取模。通式:为素数证明:已知为素数,将非负整数转化成进制数:由于p是素数对于,都有由二项式定......
  • POJ 2253 Frogger(并查集+二分||Dijkstra)
    DescriptionFreddyFrogissittingonastoneinthemiddleofalake.SuddenlyhenoticesFionaFrogwhoissittingonanotherstone.Heplanstovisither,but......
  • 《谁有惠根斯原理的电磁场叠加证明?要完整数学证明过程》 回复
    《谁有惠根斯原理的电磁场叠加证明?要完整数学证明过程》     https://tieba.baidu.com/p/8241825902    。  用 麦克斯韦方程 证明啊,  这不......
  • nim游戏必胜策略的证明
    先说结论:\(a_1\oplusa_2\oplus...\oplusa_n=0\)此时先手必败\(a_1\oplusa_2\oplus...\oplusa_n\ne0\)此时先手必胜证明:我们知道在nim游戏中,每堆都是\(0\)时,......
  • 数论证明合集
    裴蜀定理定义:设\(a,b\)为不全为零的整数,则存在整数\(x,y\)使得\(ax+by=\gcd(a,b)\)。证明:1.若\(a,b\)中其中一个数为\(0\),则\(\gcd(a,b)=a\)卢卡斯定......
  • 各种证明填坑
    打算把之前没有证明的东西补一下辗转相除法\[\gcd(a,b)=\gcd(a\bmodb,b)\,\,\,\,\,\,\,\,\,(a\leb)\]设\(a=kb+r\,\,\,\,d=\gcd(a,b)\)可得\(\frac{a}{d}=k\cd......
  • 算法证明中的巨大符号
     数学家为了偷懒,发明了一些缩写符号,由于算法证明中经常出现这些数学符号,对于小学生学习算法非常难懂,所以有必要先弄懂这些数学符号的含义、用法和写法。求和号是数学中......
  • 左正则代数模的不可约直和分解的讨论证明
    丘老师的精彩讲解: 有限性代数的不可约左模(十六)_哔哩哔哩_bilibili  有限性代数的不可约左模(十七)_哔哩哔哩_bilibili这个内容主要看丘维声的《群表示论》2.2节,主定理的......
  • gcd(a, b) = gcd(b, a % b)的证明
    \[\hugegcd(a,b)=gcd(b,a\modb)的证明\]首先假设存在\(a,b,c\)这三个数,若其满足\(a=q*b+c\),证明:\((a,b)=(b,a\modb)\)证明:\(\because\)首先可以由\(......