码迷,mamicode.com
首页 > 编程语言 > 详细

匈牙利算法

时间:2015-06-03 21:01:35      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

 本文转自大牛博客:http://www.byvoid.com/blog/hungary/

 

这是一种用增广路求二分图最大匹配的算法。它由匈牙利数学家Edmonds于1965年提出,因而得名。 定义 未盖点:设Vi是图G的一个顶点,假设Vi 不与随意一条属于匹配M的边相关联,就称Vi 是一个未盖点。

技术分享

 

交错路:设P是图G的一条路,假设P的随意两条相邻的边一定是一条属于M而还有一条不属于M,就称P是一条交错路。

可增广路:两个端点都是未盖点的交错路叫做可增广路。

技术分享

 

技术分享

 

流程图

技术分享

 

伪代码:

 

演示:

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

 

C实现(作者BYVoid

Pascal实现(作者魂牛

 

ps:近期由于比赛,须要用到二分图,图论这东西好多要好好学的。

 

匈牙利算法

标签:

原文地址:http://www.cnblogs.com/gcczhongduan/p/4550029.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!