首页 > 其他分享 >二分图学习笔记

二分图学习笔记

时间:2024-10-23 20:59:35浏览次数:5  
标签:二分 匹配 增广 笔记 学习 子集 属于

1. 概念

假设图\(G=(V,E)\)是无向图,若顶点集\(V\)可以分成两个互不相交的子集\((A,B)\),且任意边\((i,j)\)两端点分别属于两子集,则图\(G\)是二分图

判断方法:染色法

匹配:无公共点的边集

匹配数:边集中边的个数

最大匹配:匹配数最大的匹配

增广路:设M是一个匹配,如果存在一条连接两个未匹配点的路径p,使得属于M和不属于M的边交替出现

性质:增广路长度一定为奇数,头尾不属于M,将奇偶互换后可以得到更大的匹配

2. 匈牙利算法

  1. 置M为空

  2. 找出一条增广路p,进行取反得到更大的M

  3. 重复此过程,直到不存在增广路

具体步骤:

依次考虑左侧未匹配的点,一个右侧的点能与它匹配当且仅当它未被匹配或存在增广路

此时,递归左侧的点,为其寻找右侧匹配的点,用标记避免重复搜索

标签:二分,匹配,增广,笔记,学习,子集,属于
From: https://www.cnblogs.com/wangsiqi2010916/p/18498340

相关文章

  • 学期2024-2025-1 学号20241424 《计算机基础与程序设计》第5周学习总结
    学期2024-2025-1学号20241424《计算机基础与程序设计》第5周学习总结作业信息|这个作业属于2024-2025-1-计算机基础与程序设计)||-- |-- ||这个作业要求在|(https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05))||这个作业的目标|<参考上面的学习总结模板,把学习过程通过......
  • #深度学习:从基础到实践
    深度学习是人工智能领域近年来最为火热的技术之一。它通过构建由多个隐藏层组成的神经网络模型,能够从海量数据中自动学习特征和表征,在图像识别、自然语言处理、语音识别等领域取得了突破性进展。本文将全面介绍深度学习的基础知识、主要算法和实践应用,帮助您快速掌握这一......
  • MarkDown格式学习
    MarkDown学习字体Hello,Word!Hello,Word!Hello,Word!Hello,Word!引用分割线图片!截图超链接点击跳转列表表格姓名年龄班级颤三125班代码dianidanidan......
  • Python多进程学习与使用:全面指南
    Python多进程学习与使用:全面指南目录引言什么是多进程?为什么使用多进程?Python中的多进程模块:multiprocessing创建进程的基本方法进程间通信进程池多进程与多线程的比较常见问题和解决方案最佳实践和性能优化实战项目:多进程文件处理系统总结引言在当今的计算环境中,充分利......
  • 第二章学习笔记
    第2章模型评估与选择2.1经验误差与过拟合错误率(errorrate):分类错误的样本数占样本总数的比例称为错误率。精度(accuracy):精度=1-错误率。如果在m个样本中有a个样本分类错误,那么错误率,精度=1-E。学习器的实际预测输出与样本的真实输出之间的差异称为误差(error)。......
  • 华为鸿蒙HarmonyOS第一课-学习笔记总结
    华为鸿蒙HarmonyOS第一课-学习笔记总结一、概述目前华为开发者联盟下属的HarmonyOS官网推出了,针对HarmonyOS应用开发的学习视频。总共13课程,干货满满。每节课程后会有练习题,分数达成后会有结课证书。最终所有课程都学习后,可以去考试,获取HarmonyOS基础开发者证书。华为官方学习课程......
  • C++学习路线(二十一)
    俄罗斯方块 初始化页面#include<iostream>#include<graphics.h>#include<Windows.h>usingnamespacestd;voidwelcome(){ initgraph(550,660); HWNDwindow=GetHWnd(); SetWindowText(window,_T("俄罗斯方块")); setfont(40,0,_T("A......
  • 数据结构C语言版_队列笔记||已测试所有代码均可运行
    队列源文件使用markdown编写,CSDN文章发布好像有部分语法改变。每一部分我都有加一个返回标题好像不能使用了。但是CSDN自带一个目录总结,你们无视掉我写的目录直接用CSDN的吧。总结笔记不易,如果有帮助到你希望点个赞。所有代码均已在VScode中运行过,部分代码块因为格式原因......
  • [笔记](例题更新中)Z函数(扩展KMP)
    对于长度为\(n\)的字符串\(S\),定义\(z[i]\)表示\(S\)本身和\(S[i,n]\)这个后缀的最长公共前缀(LCP)的长度,(特别地,\(z[1]\)可以记为\(0\)或\(n\))则\(z\)被称为\(S\)的Z函数。扩展KMP算法可以在\(O(n)\)的时间复杂度内求得\(S\)的Z函数数组。约定:字符串下标从\(\bf{1}\)开始,下标......
  • Vue学习笔记(一)
    模板语法Vue使用一种基于HTML的模板语法,使我们能够声明式地将其组件实例的数据绑定到呈现的DOM上。所有的Vue模板都是语法层面合法的HTML,可以被符合规范的浏览器和HTML解析器解析。文本差值最基本的数据绑定形式是文本插值,它使用的是“Mustache”语法(即双大括号):<scrip......