我正在尝试学习Blossom's algorithm以获得最大匹配。 基本上算法的工作方式如下:
最大匹配的最大大小可以是V / 2,我们可以通过执行dfs在O(E + V)中找到增强路径。因此,每当我们找到增强路径时,匹配的大小增加1.因此我需要找到最多V / 2次的增强路径,因此时间复杂度为O(V * E + V * V),< / p>
但是,在开花算法的维基百科页面中,我们需要收缩交替匹配边的奇数周期并找到增广路径,并且时间复杂度也给出为O(E * V * V)。
所以有人可以纠正我,我做错了什么?