二分匹配算法理解与分析
二分匹配就是求一个集合与另一个集合之间的最大的匹配数,在主函数或者你自己另外定义一个函数,中去遍历一个集合中的元素,在dfs中遍历另一个集合中的元素,如果一个集合中的元素与另一个集合中的原素能匹配就将其匹配,当有冲突发生时试着去改变之前的匹配数,如果能更改的就更改,不能更改就表明次匹配失败。
二分匹配中常见的问题是让你求最大独立集,二分图的最大团,最小点覆盖数,最大匹配数等,这几个较为常见的,另外还有km算法,当然这个有点难度,因为这里面要用到的东西太多,也不好想,虽然我把km算法的模板代码看懂了,但是真写起来还是有点难度,另外还要了解几个定理,就是最大独立集=顶点数-最大匹配数,二分图的最大团=顶点数-最大独立集数,最小点覆盖数=最大匹配数。