什么是匈牙利算法?Hall定理是什么
题目
什么是匈牙利算法?Hall定理是什么
PASCAL语言
还有HALL定理,
答案
谈匈牙利算法自然避不开Hall定理,即是:对于二部图G,存在一个匹配M,使得X的所有顶点关于M饱和的充要条件是:对于X的任意一个子集A,和A邻接的点集为T(A),恒有:│T(A)│ >= │A│
匈牙利算法是基于Hall定理中充分性证明的思想,其基本步骤为:
1.任给初始匹配M;
2.若X已饱和则结束,否则进行第3步;
3.在X中找到一个非饱和顶点x0,作V1 ← {x0},V2 ← Φ;
4.若T(V1) = V2则因为无法匹配而停止,否则任选一点y ∈T(V1)V2;
5.若y已饱和则转6,否则做一条从x0 →y的可增广道路P,M←M?E(P),转2;
6.由于y已饱和,所以M中有一条边(y,z),作 V1 ← V1 ∪{z},V2 ← V2 ∪ {y},转4;
设数组up[1..n] --- 标记二分图的上半部分的点.
down[1..n] --- 标记二分图的下半部分的点.
map[1..n,1..n] --- 表示二分图的上,下部分的点的关系.
True-相连,false---不相连.
over1[1..n],over2[1..n] 标记上下部分的已盖点.
use[1..n,1..n] - 表示该条边是否被覆盖 .
首先对读入数据进行处理 ,对于一条边(x,y) ,起点进集合up,终点进集合down.标记map中对应元素为true.
1.寻找up中一个未盖点 .
2.从该未盖点出发 ,搜索一条可行的路线 ,即由细边出发,由细边结束,且细粗交错的路线 .
3.若找到 ,则修改该路线上的点所对应的over1,over2,use的元素.重复步骤1.
4.统计use中已覆盖的边的条数total,总数n减去total即为问题的解.
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
热门考点
- 将长为20cm,宽为10cm的长方形白纸条按如图所示的方法粘合起来,粘合部分的宽为3cm
- 对于函数f(x)=ax2+bx+c(a≠0)作代换x=g(t),则不改变函数f(x)的值域的代换是( ) A.g(t)=2t B.g(t)=|t| C.g(t)=sint D.g(t)=log2t
- 一个区一个瓦念什么
- "儿"是整体结构的字吗?
- 已知定义在R上的函数f(x),当x属于[-1,1]时,f(x)=x^2-x,且对任意的x满足,f(x-1)=Mf(x),(常数M不等于0)则函数f(x)在区间[5,7]上的最大值是?{题目没有错}
- 粉笔盒重10N,黑板擦重5N,现将黑板擦放在粉笔盒上再一起放在讲桌上,这时桌子受到的压力大小为( ) A.10N B.5N C.15N D.20N
- 请教英语好的朋友一个英语填空的题目`
- 阳阳买3本笔记本和5枝铅笔,共用去18.3元,每枝铅笔1.5元,笔记本每本几元?(列方程解答)
- 配制一种药水,每50毫升药剂要加水2500毫升.写出药剂和水的体积比,并化简!
- 使式子√4-X有意义且取得最小值X的取值是?[4-X在根号里..]