《算法导论》笔记 第24章 24.1 单源最短路径

【笔记】


单元最短路径的变体

单终点最短路径问题

单对顶点最短路径问题

每对顶点间最短路径问题


最短路径的最优子结构


负权值边


回路

最短路径不能包含负权回路,不包含正权回路。


最短路径的表示

已知图G,对每个顶点v∈V,设置其前驱顶点π[v]为另一顶点或NIL。


松弛技术

对每个顶点v∈V,都设置一个属性d[v],用来描述从源点s到v的最短路径上权值的上界,称为最短路径估计。


最短路径以及松弛的性质

三角不等式

对任意边(u,v)∈E,有δ(s,v)<=δ(s,u)+w(u,v)


上界性质

对任意顶点v∈V,有d[v]>=δ(s,v),而且一旦d[v]达到δ(s,v)值就不再改变


无路径性质

如果从s到v不存在路径,则总是有d[v]=δ(s,v)=OO


收敛性质

如果s~>u->v是图G某u,v∈V的最短路径,而且在松弛边(u,v)之前的任何时间d[u]=δ(s,u),则在操作过候总有d[v]=δ(s,v)


前驱子图性质

一旦对于所有v∈V,d[v]=δ(s,v),前驱子图就是一个以s为根的最短路径树。





Bellman-Ford 算法能在一般情况(存在负权边的情况)下,解决单源最短路径问题。



【练习】


24.1-1 对图示有向图运行Bellman-Ford算法。


24.1-2 证明推论。


24.1-3 m为所有从u到v的最短路径上边数最小值中的最大值,对Bellman-Ford算法做简单的修改,在m+1趟后终止。


24.1-4 对Bellman-Ford算法进行修改,对任意顶点v,当从源点到v的某些路径上存在一个负权回路,则置d[v]为-OO。


*24.1-5 


*24.1-6 找出负权回路上顶点。




Bellman-Ford 算法能在一般情况(存在负权边的情况)下,解决单源最短路径问题。



【练习】


24.1-1 对图示有向图运行Bellman-Ford算法。


24.1-2 证明推论。


24.1-3 m为所有从u到v的最短路径上边数最小值中的最大值,对Bellman-Ford算法做简单的修改,在m+1趟后终止。


24.1-4 对Bellman-Ford算法进行修改,对任意顶点v,当从源点到v的某些路径上存在一个负权回路,则置d[v]为-OO。


*24.1-5 


*24.1-6 找出负权回路上顶点。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值