视频字幕
二分图是图论中的重要概念。它的定义是:顶点集可以分为两个不相交的子集,使得每条边都连接不同子集中的顶点。这里我们看到一个典型的二分图例子,蓝色顶点构成集合A,红色顶点构成集合B,所有边都连接不同集合的顶点。
二分图具有重要的数学性质。最关键的特征是二分图不包含奇数长度的回路,所有回路的长度都必须是偶数。左边显示的三角形是奇数回路,因此不能构成二分图。右边的四边形是偶数回路,可以是二分图的一部分。这个性质为我们判定二分图提供了理论基础。
二分图的着色方法基于一个重要定理:一个图是二分图当且仅当它可以用两种颜色对顶点着色,使得相邻顶点颜色不同。着色过程很简单:首先选择任意顶点用红色着色,然后所有与它相邻的顶点用蓝色着色,继续这个过程直到所有顶点都被着色。如果能成功完成着色且无冲突,则该图是二分图。
基于广度优先搜索的着色算法是判定二分图的标准方法。算法首先选择任意顶点作为起点并着色,然后使用队列进行广度优先遍历。对于队列中的每个顶点,算法检查其所有相邻顶点:如果相邻顶点未着色,则着相反颜色并加入队列;如果已着色且颜色相同,则检测到冲突,说明不是二分图。
着色方法是判定二分图最直观有效的方法,具有线性时间复杂度。该方法在实际应用中非常重要,比如任务分配问题中,任务和工人构成二分图的两个顶点集,边表示工人能够完成的任务。通过着色方法可以快速判断是否存在合理的分配方案。类似地,在匹配问题和调度问题中,二分图着色都发挥着关键作用。