2018.1.9 karger's minimum cut

cut就是指把一个图的结点分为两个集合,那么其中一些边的端点是分属两个集合的,使这种边数量最小的划分就叫minimum cut。

karger的算法是个randomnized algorithm,思路是随机找一个边,把这个边的两个端点融合为一个结点,把多余的点和边删除。

注意如果融合后的新结点出现self loop,那么是要删除这个self loop的,但是只是和其他结点形成平行边,那么这些平行边当然是不可以删除的。

最后合并到只剩两个点的时候,就相当于把原来的图的结点分为了两个集合,剩下的边就是这时的cut了。

当然这个算法正确的概率只有1/n^2,所以是需要多次重复来得到最好结果的,假设图有n个结点,那么运行n^2ln(n)次,错误概率会降为仅有1/n。

转载于:https://www.cnblogs.com/dynasty919/p/8259996.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值