匈牙利算法(一)

简介: 复习acwing算法基础课的内容,本篇为讲解基础算法:匈牙利算法,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。

文章目录

前言

一、匈牙利算法

二、AcWing 861. 二分图的最大匹配

本题分析

AC代码

三、时间复杂度


前言

复习acwing算法基础课的内容,本篇为讲解基础算法:匈牙利算法,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。


一、匈牙利算法

下图来自:ACWing算法基础课

image.png

匈牙利算法是用来寻找二分图最大匹配的算法具体实现方式下面做讲解:

我们把两个集合分为男,女两个集合,其中的每一条黑线都意味着这一对儿男女之间有感情,我们要做的,是看看能最多有多少对男女能够实现配对,下面我们一步一步看:

image.png

我们遍历每一个男生,那么一号男嘉宾和二号女嘉宾之间有一条线,证明他俩可成,我们标注一下

image.png

显然我们不能脚踏两条船,第一个男生已经心有所属,所以我们来看第二个男生,发现二号男嘉宾可以与一号女嘉宾实现配对,我们同样标记一下,代表他俩在一起了

image.png

接着,看到三号男嘉宾只喜欢二号女嘉宾,没有其他的选项了,那么我们把他们连一条线

image.png

尴尬的情况发生了,我们的二号女嘉宾居然脚踏两条船!!!,显然社会上不允许这样,那么二号女嘉宾就甩掉了一号男嘉宾

image.png

但是,一号男嘉宾也不是没有准备,一号男嘉宾还有一位“备胎”,四号女嘉宾,所以被甩了之后,就找上了四号女嘉宾

image.png

那么最后来看我们的四号男嘉宾,四号男嘉宾和三号女嘉宾之间有感情,同样上述操作

image.png

至此,所有的男女嘉宾都找到了自己的心上人,匈牙利算法结束



目录
相关文章
|
算法 调度
转:使用匈牙利算法对局域网共享软件有哪些好处
在局域网共享软件中,匈牙利算法主要应用于解决资源分配的问题。局域网共享软件可能存在多个用户同时访问同一文件或打印机的情况,为了确保资源的公平共享,需要对资源进行分配。
89 2
|
算法 决策智能 计算机视觉
智慧交通day02-车流量检测实现07:匈牙利算法
有一种很特别的图,就做二分图,那什么是二分图呢?就是能分成两组,U,V。其中,U上的点不能相互连通,只能连去V中的点,同理,V中的点不能相互连通,只能连去U中的点。这样,就叫做二分图。
168 0
|
算法
【算法竞赛进阶指南】車的放置(行列模型二分图最大匹配+匈牙利算法)
【算法竞赛进阶指南】車的放置(行列模型二分图最大匹配+匈牙利算法)
96 0
|
算法
匈牙利算法模板
匈牙利算法
84 0
|
算法 Python
趣写算法系列之--匈牙利算法
通过数代人的努力,你终于赶上了剩男剩女的大潮,假设你是一位光荣的新世纪媒人,在你的手上有N个剩男,M个剩女,每个人都可能对多名异性有好感(惊讶-_-||暂时不考虑特殊的性取向),如果一对男女互有好感,那么你就可以把这一对撮合在一起,现在让我们无视掉所有的单相思(感觉快哭了),你拥有的大概就是下面这样一张关系图,每一条连线都表示互有好感。
4544 0
|
存储 算法
算法学习之路|二分图的最大匹配—匈牙利算法(Dfs实现)
二分图的概念:二分图又称作二部图,是图论中的一种特殊模型
2921 0
|
29天前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。
|
6天前
|
算法 数据安全/隐私保护 索引
OFDM系统PAPR算法的MATLAB仿真,对比SLM,PTS以及CAF,对比不同傅里叶变换长度
本项目展示了在MATLAB 2022a环境下,通过选择映射(SLM)与相位截断星座图(PTS)技术有效降低OFDM系统中PAPR的算法实现。包括无水印的算法运行效果预览、核心程序及详尽的中文注释,附带操作步骤视频,适合研究与教学使用。
|
14天前
|
算法 数据挖掘 数据安全/隐私保护
基于FCM模糊聚类算法的图像分割matlab仿真
本项目展示了基于模糊C均值(FCM)算法的图像分割技术。算法运行效果良好,无水印。使用MATLAB 2022a开发,提供完整代码及中文注释,附带操作步骤视频。FCM算法通过隶属度矩阵和聚类中心矩阵实现图像分割,适用于灰度和彩色图像,广泛应用于医学影像、遥感图像等领域。
|
15天前
|
算法 调度
基于遗传模拟退火混合优化算法的车间作业最优调度matlab仿真,输出甘特图
车间作业调度问题(JSSP)通过遗传算法(GA)和模拟退火算法(SA)优化多个作业在并行工作中心上的加工顺序和时间,以最小化总完成时间和机器闲置时间。MATLAB2022a版本运行测试,展示了有效性和可行性。核心程序采用作业列表表示法,结合遗传操作和模拟退火过程,提高算法性能。
下一篇
无影云桌面