单源最短路径中Dijkstra算法正确性

单源最短路径

Dijkstra算法正确性

注:要证明算法的正确性,也即证明下述命题的正确性:

命题:在单源最短路径中,Dijkstra算法通过贪心策略取得的解是整体最优解。

也即局部最优解为整体最优解

贪心选择性质

从源v到u,我们选择在当前S内,从源v到点u的最短距离dist[u](局部最优解)

若想推翻命题,那么我们需要找到另外一条路径,使得从源v到u的距离小于dist[u]。

其表达目的:在单源最短路径中,局部最优解不能作为整体最优解。

假设存在这样的一条路径,从S先到x,然后徘徊于S内外(目的:扩展当前S),然后再到u,得到解优于dist[u]。

此时,距离可表述为: d ( v , x ) + d ( x , u ) d(v,x)+d(x,u) d(v,x)+d(x,u)

因为边权非负,所以 d ( x , u ) > 0 d(x,u)\gt0 d(x,u)>0,同时 d i s t [ x ] < d ( v , x ) dist[x]<d(v,x) dist[x]<d(v,x),并且 d i s t [ u

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值