断开图中最大的二分匹配

| 当图形具有多个成分时,如何找到最大二分匹配?每个组件可以通过两种方式着色。您如何确定两个集合X和Y以便运行最大匹配例程?
已邀请:
如果您的图具有几个不同的连接组件,则只需在每个组件中找到最大匹配并返回其并集,即可在图中找到最大匹配。 关于如何确定集合X和Y,存在许多算法来检测特定图是否为二分图,如果是,则为节点分配标签以恢复这两个组。您可以通过修改后的DFS或BFS轻松完成此操作。因此,针对您问题的算法可能是 在整个图形上运行DFS,将其分解为连接的组件。 对于每个组件: 在这些组件上运行DFS,以恢复X和Y组中的节点。 使用最大二分匹配算法在该组件中找到最大匹配。 将所有结果结合在一起以获得总体答案。 希望这可以帮助!
不要从边缘的角度看匹配,而是将其看做是一组边缘。这种观点使我们更加清楚,无论您如何加入子结果,以后都可以。 将图形分离为连接的组件 使用您选择的算法,找到每个图形组件的最大匹配。 找到的匹配项的并集是整个图的最大匹配项。
我不知道断开的图,但是如果您有像我这样的完整图,这可能对您很有趣:http://wilanw.blogspot.com/2009/09/maximumminimum-weighted-bipartite.html。它使用改良的Floyd-Warshall算法来查找最大匹配项。我不知道这种算法与匈牙利算法之间的区别。

要回复问题请先登录注册