草庐IT

点割集和边割集的理解

点割集其实就是一个点如果从图中去除后,该图的连通分量增加就是该图的割点,但是我们需要注意一个地方,看上面的图,v5是一个割点,它可以将图分割开,然后使得图的连通分量增加,而{v2,v5}似乎也可以做到将图的连通分量增加,但是需要注意的地方是v5就可以做的事情其实就不需要{v2,v5}去做,这样多出来一个点去做图的分割的操作其实并不是我们要的。那么其实我们就可以得到点割集的定义:点割集的定义:点割集是原生图的结点,同时当我们将结点从图中删去后会使得图的连通分量增加,并且该结点是最小的的分割集合,也就是说不应该存在某个同样可以使得图的连通分量增加的分割集合是该分割集合的真子集。边割集边割集的定义:

java - 如何使用 Edmonds–Karp 算法得到割集?

我使用在Edmonds–Karp算法维基页面中找到的伪代码实现了Edmonds–Karp算法:http://en.wikipedia.org/wiki/Edmonds%E2%80%93Karp_algorithm效果很好,但算法输出的是最大流值(最小切割值),我需要这个切割包含的边列表我尝试更改算法,但没有成功,你们能帮忙吗?谢谢 最佳答案 如果您已经有了流,则计算残差图。然后从源进行深度优先搜索(或广度优先搜索,我认为这不重要),以计算切割(S)的一半中的顶点。剩余的顶点位于切割的另一半T。这为您提供了切分(S,T)。如果您特别想