二分图匹配,Hangarian算法, Kuhn-Munkres算法

本文介绍了二分图中的匹配概念及其最优匹配方法,包括Hungarian算法和Kuhn-Munkres算法,并提供了一些开源实现资源。

一. 看到的比较好的文章:

图论总结(一)二分图最大匹配_LinHunYoR的博客-优快云博客_二分图最大匹配https://blog.youkuaiyun.com/qq_38956769/article/details/80238896https://brc2.com/the-algorithm-workshop/https://brc2.com/the-algorithm-workshop/

匈牙利算法(Kuhn-Munkres)算法_17420的博客-优快云博客_munkres算法https://blog.youkuaiyun.com/zsfcg/article/details/20738027

二、二分图最优匹配:

匹配:在二分图G的一个子图M中, M的边集{E}中的任意两条边都不交汇于同一个结点,则称M是一个匹配

最优匹配:M的边数最多(边无权重, Hangarian 算法), 或者是边的权重(costs)和最小(Kuhn-Munkres算法)

三、一些开源实现:

3.1 Munkres-cpp: https://github.com/saebyn/munkres-cppicon-default.png?t=M276https://github.com/saebyn/munkres-cpp简介:1)基于c++的带权(cost)的二分图匹配,希望权重的和最小, inplace改变costs matrix的值;2)没有办法表示不相连的顶点, 效率上稍微低一些;

正常输出:0的地方表示匹配的位置

solve的时间:50x50的矩阵大概在10ms左右:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值