首页 > 其他分享 >关于 二分图

关于 二分图

时间:2022-09-07 21:57:20浏览次数:48  
标签:二分 标号 两个 奇数 判定 关于 集合

什么是二分图?

简单来说,就是把一个图的顶点划分为两个不相交子集 ,使得每一条边都分别连接两个集合中的顶点。如果存在这样的划分,则此图为一个二分图。

这样如果不理解,可以看个例子:

此图即为一个二分图,将蓝色点与红色点分别划为两个子集。

要点:

· 无向图

· 所有点分成 A、B 两个不相交的集合

· 两个集合中没有边存在

· 边全部存在于两个集合之间

· 二分图当且仅当图中不含奇数环(必要性)

· 由上条反推,如果不含有奇数环的话一定是二分图(充分性)

二分图的应用

· 染色法判定二分图

· 二分图最大匹配,匈牙利算法

如何判定二分图

在图中任选一顶点 v ,定义其距离标号为 0 ,然后把它的邻接点的距离标号均设为 1 ,接着把所有标号为 1 的邻接点均标号为 2(如果该点未标号的话)。标号过程可以用一次BFS实现。标号后,所有标号为奇数的点归为 X 部,标号为偶数的点归为 Y 部。

接下来,二分图的判定就是依次检查每条边,看两个端点是否是一个在 X 部,一个在 Y 部。

如果一个图不连通,则在每个连通块中作判定。

由于图中没有奇数环,所以染色过程中一定不会出现矛盾。

二分图匹配

给定一个二分图 G ,在 G 的一个子图 M 中, M 的边集 {E} 中的任意两条边都不交汇于同一个结点,则称 M 是一个匹配。

 

(明天继续)

标签:二分,标号,两个,奇数,判定,关于,集合
From: https://www.cnblogs.com/marswithme/p/16667402.html

相关文章

  • C++ 关于构造函数和this调用的思考
    文中一系列思考和内容引发自以下问题:我需要在一个类的构造函数中调用另一个对象的构造函数,并使用this初始化其中的一个引用成员。主要遇到的问题:1.构造函数的初始化列表......
  • 关于介绍我这个博客园的诞生原因
    主要还是以笔记为主,方便督促我去学习,我也准备去实习,再这里卷一下不过分吧可能会写一些其他方面的技术吧,就是不是Java方向的,我顺带培养一下自己的兴趣爱好吧。还有就是笔......
  • 关于VLAN的相关知识回顾
    前情提要1、什么是vlan?2、vlan技术中有哪些东西?3、平常有做过哪些实验?4、…………算了吧,我基础不扎实,扯不动了/(ㄒoㄒ)/~~论在被人问到VLAN相关的知识的时候,该怎么扯......
  • 关于phpstudy小坑
     一个很经典的问题    使用的集成环境的phpstudy, 一直都挺好的 但是每次删除后不能创建同名的数据库  最后发现原来默认的只有一个库 在这个库下面创......
  • 一个关于算法与数据结构的可视化平台
    旧金山大学官网的数据可视化(算法与数据结构):数据结构可视化(usfca.edu)......
  • Taxi (曼儿哈顿->切比雪夫+二分) (2022杭电3)
    题意:多组样例,对于每组样例,先给出一个n和m,n代表点的个数,m代表询问的个数,接下来n行,每行3个数(xi,yi,wi),分别代表第i个点的坐标和权值,对于每组询问,首先给出一个坐标,让我们求......
  • 关于WIN7下无法修改网络类型的一种解决办法(笔记)
    今天发现WIN7旗舰版的一个网卡无法修改网络类型,一直显示是无法识别的网络,另一个网卡则可以修改按网络上的方法尝试:组策略无效偶然翻到一篇文章:https://www.gqgtpc.com/t......
  • Boss Rush (压状tp+二分)
    题目;多组样例,每组样例先给一个n和H,分别代表技能数和boss血量,接下来对于每个技能都有两行输入,第一行给出两个数分别代表技能使用时间t[i]和技能持续时间len[i],接下来一行......
  • 关于buffer
    创建Buffer实例alloc:创建指定字节大小的bufferallocUnsafe:创建指定大小的buffer(不安全)from:接收数据,创建bufferBuffer实例方法fill:使用数据填充bufferwrite:向bu......
  • 关于nodejs的一些笔记
    node.js和JavaScript还是有一定的渊源的简单来说,Nodejs就是运行在服务端的JavaScript浏览器有一个引擎比如谷歌的chrome里的叫做V8这个引擎可以翻译JavaScript脚本,然......