In this paper, we propose a depth-first search (DFS) algorithm for searching maximum matchings in general graphs. Unlike blossom shrinking algorithms, which store all possible alternative alternating paths in the super-vertices shrunk from blossoms, the newly proposed algorithm does not involve blossom shrinking. The basic idea is to deflect the alternating path when facing blossoms. The algorithm maintains detour information in an auxiliary stack to minimize the redundant data structures. A benefit of our technique is to avoid spending time on shrinking and expanding blossoms. This DFS algorithm can determine a maximum matching of a general graph with $m$ edges and $n$ vertices in $O(mn)$ time with space complexity $O(n)$.
翻译:在本文中,我们提出一个深度第一搜索(DFS)算法,以查找一般图表中的最大匹配。与花朵缩缩缩算法不同,新提议的算法将所有可能的替代交替路径储存在从花朵缩小的超级脊柱上,而新提议的算法并不涉及花朵缩小。基本的想法是当面临花朵时将交替路径移开。算法在辅助堆堆中保留绕线信息,以尽量减少多余的数据结构。我们技术的一个好处是避免花时间缩小和扩展花卉。这种DFS算法可以确定总图与美元边缘和美元顶脊的最大匹配,用美元确定总图与美元(mn)时间与空间复杂度为美元(n)的最大匹配。