Hungarian algorithm 匈牙利算法
来源:互联网 发布:网站数据统计 编辑:程序博客网 时间:2024/04/29 20:00
趣写算法系列之--匈牙利算法
匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。
维基:
设G=(V,E)是一个无向图。如顶点集V可分区为两个互不相交的子集V1,V2之并,并且图中每条边依附的两个顶点都分属于这两个不同的子集。则称图G为二分图。二分图也可记为G=(V1,V2,E)。
给定一个二分图G,在G的一个子图M中,M的边集{E}中的任意两条边都不依附于同一个顶点,则称M是一个匹配。 选择这样的子集中边数最大的子集称为图的最大匹配问题(maximal matching problem)
如果图的所有顶点都与某匹配中的一条边相关联,则称此匹配为完全匹配,也称作完备,完美匹配。
求最大匹配的一种显而易见的算法是:先找出全部匹配,然后保留匹配数最多的。但是这个算法的时间复杂度为边数的指数级函数。因此,需要寻求一种更加高效的算法。下面介绍用增广路求最大匹配的方法(称作匈牙利算法,由数学家Harold Kuhn于1955年提出)。
增广路的定义(也称增广轨或交错轨):
若P是图G中一条连通两个未匹配顶点的路径,并且属于M的边和不属于M的边(即已匹配和待匹配的边)在P上交替出现,则称P为相对于M的一条增广路径。(M为一个匹配)
0 0
- 匈牙利算法Hungarian algorithm
- Hungarian algorithm 匈牙利算法
- Hungarian Algorithm(匈牙利算法)
- Hungarian Algorithm匈牙利算法
- 二分图匹配算法Hungarian Algorithm (匈牙利算法)
- Hungarian Method (匈牙利算法)
- Hungarian Algorithm
- Hungarian method (匈牙利算法)----解决指派问题(转)
- 匈牙利命名法(Hungarian)
- 匈牙利表示法(hungarian)
- Hungarian notation 匈牙利命名
- KM & hungarian algorithm
- Hungarian Algorithm Summary
- 匈牙利命名法(Hungarian Notation)
- 匈牙利命名法(Hungarian Notation)
- 匈牙利表示法(Hungarian Notation)
- 匈牙利命名法Hungarian Notation
- Hungarian
- PhoneGap(Cordova) :环境搭建(1) ------Android篇
- cin.getline不能输入两次
- 多线程之11-------线程之间有关协作的方法:wait()与notifyAll()
- 第十四周 项目2.3 带姓名的成绩单(从文件中读取数据然后经过成绩排序姓名排序处理)
- sed
- Hungarian algorithm 匈牙利算法
- 变量以及初始化的理解
- 从源代码角度看Struts2返回JSON数据的原理
- xml结构总结
- 第十四周项目五:体会棋盘游戏中的数据存储
- PYTHON 爬虫简单的认识
- grub2修改开机默认启动项
- 引入js文件时出现中文乱码
- iOS Core Animation 简明系列教程