什么是最大流
最大流要解决的问题是从 S 到 T 怎么才能最大地将数据运到另一边。这个“数据”可以是水,或者网络数据包。举个例子
在上面这个图中将数据从 S 运到 T,其中边的权值称为 Capacity 即,在这条边中流动的数据不能超过 Capacity 值,
。
这个图很简单,我们很容易就看出来最大流是 5。流动方向为
S - 1 - T: 2
S - 1 - 2 - T: 1
S - 2 - T: 2
那最小割是啥?就是一堆边的集合,这些边权重加起来应该是要等于最大流的值,且这些边都是从 S 那边到 T 这边的。
简单思路
我们先来大概想个方法去找最大流。其实找最大流的简单方法就是一条路一条路试呗,刚好试到上面三条路就发现是最大的了。
但是总有不如意的时候,比如我们先走 S - 1 - 2 - T,用了流 3,那么整个网络可以再尝试的路只剩下这些了: