主要参考: 《算法导论》
引言
还是前几天参加的2014阿里巴巴春季校招(测试开发岗)笔试. 有道选择题:
图1中标出了每条有向公路最大流量,请问从S到T最大流量是( ).
A.46 B. 47 C. 54 D.77
图1: 流网络
看到这一题的时候我非常懊悔, 因为最大流的算法记得看过, 却没复习到. 现在把它整理出来, 亡羊补牢.
接下来会先列出来相关的定义和定理. 精力有限, 只做罗列, 见谅!
然后给出这题的解题过程.
相关定义
流网络
流网络G=(V, E)是一个有向图, 图中每条边(u, v)∈E有一个非负的容量值c(u, v) ≥0. 并且对于(u, v)不存在反向边(v, u). 如果E中不存在(u, v), 则c(u, v)=0. 图1就是一个流网络.
流
G中的流是一个实值函数f: V×V→R, 满足容量限制, 即f(u, v)≤c(u, v)和流量守恒性质, 即对于除S和T外的点满足流入与流出相等. 如图2所示.