《算法导论》笔记(18) 最大流 含部分习题

本文介绍了最大流问题的基础概念,如流网络、Ford-Fulkerson方法、残存网络和增广路径。讨论了Edmonds-Karp算法的收敛性和时间复杂度,并探讨了最大流与最小切割定理的关系。此外,还涵盖了最大流在二分匹配、线性规划和无向图边连通性等问题中的应用,以及若干相关习题的解答和思考题的转化策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

流网络,容量值,源结点,汇点,容量限制,流量守恒。反平行,超级源结点,超级汇点。

Ford-Fulkerson方法。残存网络,增广路径,最小切割定理。f是最大流,残存网络不包含增广路径,|f|等于最小切割容量三者等价。

基本的Ford-Fulkerson算法。Edmonds-Karp算法。为了算法的收敛性。残存网络中用广度优先寻找增广路径。证明运行时间为O(V*E^2):对特定一条边,其成为关键边的次数最多为V/2,残存网络最多有O(E)种可能的关键边,每条增广路径至少一条关键边,则关键边的总数为O(VE),广度优先搜索的每次迭代代价是O(E),则总时间为O(V*E^2)。

最大二分匹配。

推送-重贴标签算法。由源点向外流动,初始化时用最大流量将与源点直接相连的结点充满超额流,然后重贴高度标签,升高有残余网络的溢出结点的高度,使超额流量向高度低的结点扩散,如此反复执行溢出与标签操作,直至所有除源点与汇点外的结点都无超额流。则得到最大流。

习题26.1-4 标量流积问题,证明流为凸集。对于任意的流f1及f2,假设f3= f1*a+f2*(1- a)。首先f3要满足流量守恒,∑f(u, v)= ∑f(v, u),易知f3满足流量守恒。其次要满足容量限制。f3= f2+ a*(f1- f2),f3<= max(f1, f2),则f3(u, v)<=c(u, v)。则f3也是一个流。

习题26.1-5 最大流问题表述为线性规划问题。f(u, v)为u到v路径上的流量,各项有最大值c,f(u, v)<= c(u, v),各结点流量守恒,∑f(u, v)= ∑f(v, u)。变换为一组方程组。

习题26.1-7 结点容量问题。一个结点分割为两个结点,彼此之间的最大流量设定为结点容量即可。

习题26.2-6 设置超级源点与超级汇点。超级源点到每个源结点的路径最大容量是pi,而每个汇点到超级汇点的路径最大容量是qi。

习题26.2-11 最大流算法确定无向图的边连通性。因为最大流等于最小切割容量,设置所有边容量为1,最大流为n,则源点与汇点之间最少有n条通路,需要删除n条边才能保

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值