当您的图有多个组件时,如何找到最大二分匹配?每个组件可以用两种方法着色。如何决定集合X和Y,以便运行最大匹配例程?
当您的图有多个组件时,如何找到最大二分匹配?每个组件可以用两种方法着色。如何决定集合X和Y,以便运行最大匹配例程?
如果您的图有几个不同的连通分量,您可以通过找到每个分量中的最大匹配并返回它们的联合来在图中找到最大匹配。
至于如何决定集合X和Y,存在许多算法用于检测特定图是否为二分图,并在此情况下为节点分配标签以恢复这两个组。您可以使用修改后的DFS或BFS轻松完成此操作。因此,您的问题的算法可能是
希望这可以帮助您!
不要从边缘的角度看待匹配,而是将其视为一组边缘。这种观点使得无论如何连接子结果,它在后面仍然是可以的。
将图形分成连通组件
对于每个图形组件,使用您选择的算法找到最大匹配。
找到的匹配的并集是整个图形的最大匹配。
我不知道什么是非连通图,但如果你有一个像我这样的完全图,这可能对你很有趣:http://wilanw.blogspot.com/2009/09/maximumminimum-weighted-bipartite.html。它使用了修改后的 Floyd-Warshall 算法来查找最大匹配。我不知道这与匈牙利算法之间的区别。