算法如下:
从G中任取一点s,然后依次计算s到其他V-1个点的最大流,这V-1个最大流中的最小的那个流值|f|min就是要求的边连通度k
证明:
(1) 假设以t为汇点,最小割割(S,T), 容量为c(S,T)=|f|, 由于每条边的容留都是1,因此割(S,T)之间有c(S,T)条边相连,删除这c(S,T)条边,G一定会
变成非连通,因此k<=c(S,T)=|f|。 该不等式对任意一点为汇点都成立,因此k<=|f|min
(2) 假设以t为汇点,最大流值为|f|, 我们要证明至少要删除|f|条边才会导致G中没有s-->t的路径:
由于最小割c(S,T)=|f|, 只有删除至少|f|条边才能保证存在一个割的容量c(S,T)=0;反过来说如果删除的边数少于|f|,则所有的割的容量大于0,由最小割最大流定理可知,最大流值大于0,
也就是说存在s--->t的路径
如果删除的边数k<|f|min, 则任取汇点都会有s到该汇点的路径,即整个图是连通的, 因此k>=|f|min
综合(1)(2)可知 k=|f|min