匈牙利算法
来源:互联网 发布:CMS淀粉 编辑:程序博客网 时间:2024/05/20 19:30
首先推荐一篇文章,个人觉得写得很好,以下只是我自己学习算法的一些心得.
http://www.cnblogs.com/shenben/p/5573788.html
一些定义
1、二分图
图论中的一种特殊模型。
把一个点集分成两个不相同的点集,且任意一条边的两个端点属于不同点集,这样的图称之为二分图.
类似的我们有网络流当中的源点、汇点的特殊模型.
2、匹配
图三中的两条红颜色边没有交集,匹配了对应的一些顶点,称之为图二的一个匹配.
3、最大匹配
即一个二分图中所有匹配能匹配最多边数的匹配,称之为最大匹配.
4、完美匹配
即一个匹配能把所有顶点都覆盖到,则称之为完美匹配.
显然完美匹配一定是一个最大匹配.
5、交替路
从一个未匹配点出发,依次经过非匹配边、匹配边、非匹配边…形成的路径叫交替路。
6、增广路
从一个未匹配点出发,走交替路,如果途径另一个未匹配点(出发的点不算),则这条交替路称为增广路.
增广路有一个重要特点:非匹配边比匹配边多一条。因此,研究增广路的意义是改进匹配。
匈牙利
匈牙利正是求解以上模型的一种贪心算法.
由增广路的性质,增广路中的匹配边总是比未匹配边多一条,所以如果我们放弃一条增广路中的匹配边,选取未匹配边作为匹配边,则匹配的数量就会增加。匈牙利算法就是在不断寻找增广路,如果找不到增广路,就说明达到了最大匹配。
感性理解.
阅读全文
0 0
- 匈牙利算法
- 匈牙利算法!!!
- 匈牙利算法
- 匈牙利算法
- 匈牙利算法
- 匈牙利算法
- 匈牙利算法
- 匈牙利算法
- 匈牙利算法
- 匈牙利算法
- 匈牙利算法
- 匈牙利算法
- 匈牙利算法
- 匈牙利算法
- 匈牙利算法
- 匈牙利算法
- 匈牙利算法
- 匈牙利算法
- 数据挖掘中的关联规则
- Android中常见的内存泄漏汇总
- sas统计分析学习笔记(五)
- MAC上读出usb
- Lucene搜索引擎+HDFS+MR完成垂直搜索
- 匈牙利算法
- Flask-hello程序
- Super Jumping! Jumping! Jumping!
- 今天写了一条把我两个月职业生涯学到的SQL知识全用上了的语句
- 关闭服务器windows server的IE浏览器的增强安全配置
- 文本相关性排序
- 用javadoc命令生成api帮助文档
- MySQL的InnoDB索引原理详解
- 刷题——Dollar Dayz POJ