有条件的建议去油管上看,讲的很清楚https://www.youtube.com/watch?v=3roPs1Bvg1Q
引例:如果你是夏令营负责人,你的任务是将一群人分为两组。为了公平起见,每个人在卡片上写下了自己希望匹配的人,根据这些卡片,你要尽可能让希望彼此在一起的人更多。
1 基本概念
开花算法用于图中最大匹配的计算,为了方便理解我们给出几个概念:
1.1 匹配
若G=(V,E)是无向图,边集M属于E,M中任意两边均不相邻,M是G的匹配。下图黄色部分就是一个匹配。
1.2 渗透点
顶点v和M中边关联,则v为渗透点,否则为非渗透点。图中橙色即为非渗透点,也是在寻找最大路径要用到的。
1.3 交错路径
M是G的一个