Ford-Fulkerson

 算法描述:

STEP0: 置初始可行流。
STEP1: 构造原网络的残量网络,在残量网络中找s-t有向路。如果没有,算法得到   最大流结束。否则继续下一步。
STEP2: 依据残量网络中的s-t有向路写出对应到原网络中的s-t增广路。对于增广   路中的前向弧,置s(e)=u(e)- f(e)。对于反向弧,置s(e) ¬f(e)。
STEP3: 计算crement=min{s(e1),s(e2),…,s(ek)};
STEP4: 对于增广路中的前向弧,令f(e)=f(e)+crement;对于其中的反向弧,令f   (e)=f(e)-crement,转STEP1。

这里f代表弧上的当前流量,s表示弧上可增广的量。

在STEP2的残量网络中,寻找s-t有向路的算法有两种,DFS和BFS,即深度优先和宽度优先算法。

算法的时间复杂度为O(mnU)。其中m为弧的数目,U为弧上容量的最大上界,是伪多项式算法。邻接表表示图,空间复杂度为O(n+m)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值