目录
二分图是什么
学习二分图的目的就是一些题目可以简化成二分图的模型来求解。
二分图也就是:一个无向图顶点集,分成了两堆顶点(可以理解为两种不同性质),图中的每条边的两个端点分别属于两个不同的顶点集合。这两个顶点集内部顶点之间没有边,所有的边都是连接两个不同顶点集合内的顶点。
一个图是二分图当且仅当它不包含奇环图。(这句话正反都成立。
奇环图就是存在:边数是奇数的环 的图。
正向解释:假设存在一个奇数长度的环,那么环上的节点一定是交替属于两个集合的,由于环的长度是奇数,环的最后一个节点又必须与环的起始节点相连,且它们属于同一个集合,这与二分图的定义相矛盾。因此,如果图是二分图,则不可能存在奇数长度的环。
反之:如果一个图不包含奇环,那么我们通过染色法(后面会说)遍历图中的每一个节点,相邻两个节点染色不同,如果最终没有发生染色冲突的情况(即相邻的节点被染成了相同的颜色),那么就证明该图是二分图。
acwing-860染色法判定二分图
染色法
上面简单提过,其实叫染色法也只是一种标记而已,不用想的太复杂。<