我们可以从源头开始使用DFS / BFS来查找最小切割。但是我们可以从每个节点开始使用BFS / DFS来查看它是否可以达到下沉以找到最小切割? 或者,我们如何找到所有最小削减?
答案 0 :(得分:0)
不确定我理解你的问题。为了找到最小切割,我们可以找到最大流量并使用它来找到最小切割(通过最小切割最大流量定理)。
如果您想检查是否有超过一分钟的切割,在获得剩余网络后,运行BFS(s)
- 从s
开始,让这组顶点为X
。然后翻转剩余网络的边缘并运行BFS(t)
,让这组顶点为Y
。如果X
和Y
的并集是图形的所有顶点,则只有一个切割。否则 - 你有多个(为了找到所有Z
最小切割,至少需要(Z|V|)