图论动画最短增广路径算法.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * 最大流问题的最短增广路径算法 * 最短增广路径 4 1 1 4 2 1 2 3 3 1 s 2 4 5 3 t 这是初始网络,加上弧的反向. * 最短增广路径 4 1 1 4 2 1 2 3 3 1 s 2 4 5 3 t 这是初始网络和初始剩余网络. * 初始化距离 4 1 1 4 2 1 2 3 3 1 s 2 4 5 3 t 结点标号从此以后将是距离标号. 0 5 4 3 2 1 t 4 5 3 s 2 d(j)是在G(x)中的j到t的的最大的距离 0 2 2 1 1 1 * 可进入弧的表示 4 1 1 4 2 1 2 3 3 1 s 2 4 5 3 t 弧 (i,j) 是 可进入的,如果 d(i) = d(j) + 1. 0 5 4 3 2 1 t 4 5 3 s 2 一条可进入弧的 s-t 路径是最短路径. 0 2 2 1 1 1 可进入弧将表示成粗线. * 4 2 4 2 寻找最短 s-t 路径 4 1 1 2 1 3 3 1 s 2 4 5 3 t 使用可进入弧从 s 开始进行深度优先搜索. 0 5 4 3 2 1 t 4 5 3 s 2 0 2 2 1 1 1 下一步. 发送流并更新剩余容量. 2 1 0 * 2 4 2 2 更新剩余容量 4 1 1 2 1 3 3 1 s 2 4 5 3 t 这里是更新的剩余容量. 0 5 4 3 2 1 t 4 5 3 s 2 0 2 2 1 1 1 我们将会以后更新距离标号,如果需要. * 2 4 2 2 寻找最短 s-t 路径 4 1 1 2 1 3 3 1 s 2 4 5 3 t 0 5 4 3 2 1 t 4 5 3 s 2 0 2 2 1 1 1 使用可进入弧从 s 开始进行深度优先搜索. 下一步. 发送流并更新剩余容量. 2 1 0 * 2 2 2 4 2 2 更新剩余容量 4 1 1 1 3 1 1 s 2 4 5 3 t 0 5 4 3 2 1 t 4 5 3 s 2 0 2 2 1 1 1 这里是更新的剩余容量. 我们将会以后更新距离标号,如果需要. * 2 2 2 4 2 2 寻找最短 s-t 路径 4 1 1 1 3 1 1 s 2 4 5 3 t 0 5 4 3 2 1 t 4 5 3 s 2 0 2 2 1 1 1 使用可进入弧从 s 开始进行深度优先搜索. 2 1 如果没有从i出发的可进入弧,那么relabel(i) 且沿着到 i 的路径反向. * 2 2 2 4 2 2 更新距离和路径 4 1 1 1 3 1 1 s 2 4 5 3 t 0 5 4 3 2 1 t 4 5 s 2 0 2 2 1 1 1 使用可进入弧从 s 开始进行深度优先搜索. 2 1 如果没有从i出发的可进入弧,那么relabel(i) 且反向沿着从s出发的路径的一条弧. 2 3 * 2 2 2 4 2 2 更新距离和路径 4 1 1 1 3 1 1 s 2 4 5 3 t 0 5 4 3 2 1 t s 2 0 2 2 1 1 1 使用可进入弧从 s 开始进行深度优先搜索. 2 1 如果没有从i出发的可进入弧,那么relabel(i) 且反向沿着从s出发的路径的一条弧. 2 3 3 s 4 5 * 2 2 2 4 2 2 寻找最短 s-t 路径 4 1 1 1 3 1 1 s 2 4 5 3 t 0 5 4 3 2 1 t 2 0 2 2 1 1 1 继续从它离开的地方的路径 2 1 如果路径达到了 t, 那么发送流且更新剩余网络. 2 3 3 s 0 2 1 4 5 * 2 2 2 4 2 2 更新剩余容量 3 1 1 1 2 1 1 s 2 4 5 3 t 0 5 4 3 2 1 t 2 0 2 2 1 1 1 2 1 2 3 3 s 4 5 这是更新的剩余容量. 1 1 * 2 2 2 4 2 2 搜索最短s-t 路径 3 1 1 1 2 1 1 s 2 4 5 3 t 0 5 4 3 2 1 t 2 0 2 2 1 1 1 2 1 2 3 3 s 4 5 搜索从 s 开始的最短 s-t 路径 1 1 3 2 3 1 如果没有从i出发的可进入弧,那么relabel(i) 且反向沿着从s出发的路径的一条弧. * 2 2 2 4 2 2 搜索最短s-t 路径 3 1 1 1 2 1 1 s 2 4 5 3 t 0 5 4 3 2 1 t 2 0 2 2 1 1 1 2 1 2 3 3 s 4 5 搜索从 s 开始的最短 s-t 路径 1 1 3 2 3 1 如果没有从i出发的可进入弧,那么relabel(i) 且反向沿着从s出发的路径的一条弧. 2 5 3 2 * 2 2 2 4 2 2 搜索最短s-t 路径

文档评论(0)

sandaolingcrh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档