最大流网络之Push-Relabel算法

上一篇文章介绍了网络最大流中的Ford-Forkerson算法和它的改进版本。对于解决网络最大流、最小割相关问题,今天我们来看一个效率更快的算法Push-Relabel算法。

1.Push-Relabel算法思想

对于一个网络流图: 该算法直观可以这样理解,先在源节点处加入充足的流(跟源节点 s 相连的所有边的容量之和),然后开始按一定规则进行流渗透,一个边一个边的向汇点渗透,直到没法再渗透(类似于Ford-Fulkerson算法中找不到增广路径了),那么这时再把一些剩余的流回收到源节点 s 就可。
主要分为两个步骤:push和relabel。push表示从所有节点找出一个存水量大于0的节点 u ,将它所存的水尽可能推向与它相邻的节点 v 。要实现该push的操作必须满足下面条件:该点存水量 e(u)>0 ,节点 u 的高度大于节 v 的高度。本次推送的流值 (u,v).f

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值