【坤坤讲师--图】KM算法

news2024/11/13 7:56:11

 

KM算法

KM算法是通过给每个顶点一个标号(叫做顶标)来把求最大权匹配的问题转化为求完备匹配的问题的。设顶点Xi的顶标为A[i],顶点Yj的顶标为B[j],顶点Xi与Yj之间的边权为w[i,j]。在算法执行过程中的任一时刻,对于任一条边(i,j),A[i]+B[j]>=w[i,j]始终成立。KM算法的正确性基于以下定理:

  若由二分图中所有满足A[i]+B[j]=w[i,j]的边(i,j)构成的子图(称做相等子图)有完备匹配,那么这个完备匹配就是二分图的最大权匹配。

  这个定理是显然的。因为对于二分图的任意一个匹配,如果它包含于相等子图,那么它的边权和等于所有顶点的顶标和;如果它有的边不包含于相等子图,那么它的边权和小于所有顶点的顶标和。所以相等子图的完备匹配一定是二分图的最大权匹配。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/197215.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python语言零基础入门教程(一)

Python 基础语法 Python 语言与 Perl,C 和 Java 等语言有许多相似之处。但是,也存在一些差异。 在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程。 第一个 Python 程序 交互式编程 交互式编程不需要创建脚本文件&#…

【算法竞赛模板】单调队列与单调栈

【算法竞赛模板】单调队列与单调栈一、概念解析二、单调栈三、单调队列一、概念解析 单调栈:具有单调(递增或递减)性质和栈性质的数据结构     时间复杂度为 O(n)单调队列:具有单调(递增或递减)性质和…

R22-11 《Specification of Time Synchronization》文摘

1 Introduction and functional overview【功能】Time Synchronization between different applications and/or ECUs【目的】be able to track such events in time or to trigger them at an accurate point in time.【方式】ATime Synchronization APIis offered to the App…

webpack基础理解

webpack基础理解 webpack就是将不同格式的文件打包成浏览器能够执行识别的文件 首先创建一些文件 npm init -y 初始化文件 生成一个配置文件package.json 这里如果直接打开静态文件引入main 他会提示你import引入这种模块化语法有问题浏览器并不能直接识别,这时就…

计算机组成原理 第四章笔记记录

为笔记记录,会有个人的理解在里面,若有错误请指出,看到了就改,视频链接 指令格式 指令和指令集的定义 指令:指示计算机执行某种操作的命令,是计算机运行的最小功能单位 指令集:一台计算机的所有指令的集合构成该计算机的指令系统…

微信小程序【获取用户昵称头像和昵称(附源码)】

获取用户昵称头像和昵称 wx.getUserProfile bindgetuserinfo 登录过程 前端源码:https://pan.baidu.com/s/1uz2Gm2FMB-8RFVkhlHY3kQ 提取码:zb4w 后端源码:https://pan.baidu.com/s/1iPpLrXzWnpAsk5UsfKesGw 提取码:8bwm 小程…

Java poi之word文本图片内容提取

目录结构前言文档准备引入Maven依赖代码块提取结果验证孤勇者提取结果青鸟提取结果对比前言 应公司需求,需实现以下功能 word文本内容的替换;word文本内容的提取;word文档中图片的提取存放 此文章将使用Apache POI实现Word文档中文本内容及…

2023-2-3 刷题情况

二叉树着色游戏 题目描述 有两位极客玩家参与了一场「二叉树着色」的游戏。游戏中,给出二叉树的根节点 root,树上总共有 n 个节点,且 n 为奇数,其中每个节点上的值从 1 到 n 各不相同。 最开始时: 「一号」玩家从 …

BIGEMAP GIS Office添加离线地图

BIGEMAP GIS Office添加离线地图发布时间:2019-01-04 版权:BIGEMAP添加离线地图相关应用:搭建 离线地图 二次开发目的:搭建内网地图服务器,内网中可多人访问的地图服务,无需上网工具下载:1、BIG…

2023年企业必不可少的私域运营系统

随着人口红利消失、流量越来越贵、公域转化越来越难,2023年,能够提升用户全生命周期的私域运营,已经成为企业不得不做的事。 面对这种情况,企业必须要引入一款专业且高效的私域运营利器,来实现高效率私域运营管理。快…

二叉树层次遍历的C语言实现

二叉树 树是n个节点的有限集 每个节点事多有两颗子树的树称为 二叉树 二叉树的层次遍历 使用队列的数据结构,从树的根结点开始,依次将其左孩子和右孩子入队。而后每次队列中一个结点出队,都将其左孩子和右孩子入队,直到树中所有结…

Linux——死锁概念介绍和解决方式

目录 一.死锁概念介绍 二.死锁的解决方式 (一).预防死锁 方式一:不请求 方式二:强制剥夺资源 方式三:线性分配资源 (二).避免死锁:银行家算法 总体流程 安全性检查&#xf…

C语言---冒泡排序和快速排序

文章目录前言一、冒泡排序1.简介2.算法思路3.代码实现二、快速排序1.简介2.算法思路2.1左右指针法2.2挖坑法2.3前后指针法总结前言 交换排序有冒泡排序和快速排序这两种, 基本思想:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两…

多目标跟踪:文献综述

文章目录摘要1、简介1.1、与其他相关综述的区别1.2、贡献1.3、综述的结构1.4. 外延2、 MOT问题2.1、问题公式化2.2、MOT的分类2.2.1、初始化方法2.2.2、处理方式2.2.3、输出类型2.2.4. 讨论3、MOT的组成3.1、外观模型3.1.1、视觉表征3.1.2. 统计测量3.2、运动模型3.2.1. 线性运…

安装httprunner manager遇到的坑

安装httprunner manager参考博客:https://www.cnblogs.com/MrqiuS/p/12944481.html安装mysqlclient报错Collecting mysqlclient1.3.12Downloading https://mirrors.aliyun.com/pypi/packages/6f/86/bad31f1c1bb0cc99e88ca2adb7cb5c71f7a6540c1bb001480513de76a931/m…

maven利用springboot的配置文件进行多个环境的打包

在Spring Boot中多环境配置文件名需要满足application-{profiles.active}.properties的格式,其中{profiles.active}对应你的环境标识,可以随意命名,但要与pom文件中环境标识一样。至于哪个具体的配置文件会被加载,需要在applicati…

Docker系列 01

前言 学完这篇文章,你会知道Docker是什么?解决了什么问题以及如何安装Docker。在后续的系列文章中,我们会陆续介绍Docker的常用命令、镜像原理、Dockerfile以及网络管理等,让你对Docker有较为系统的认知,持续关注吧。 …

多继承的运用

//在封装一个领导类(Leader):包括受保护成员:岗位、工资,完成其相关函数及show//由以上两个类共同把派生出学生干部类:引入私有成员:管辖人数,完成其相关函数以及show函数//在主程序中&#xff…

一刷代码随想录——动态规划

1.理论基础如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的。对于动态规划问题,我将拆解…

24考研——高等数学的基础概念定理(一)——第一章|函数、极限、连续

今天考试,考定理,我是真没想到这些定理,脑袋瓜子嗡嗡的,害,废话少说,直接开干 文章目录一、基础概念定理1.1 收敛数列的性质(唯一性、有界性、保号性、数列与子列关系)1.2 函数极限的…