【发布时间】:2012-11-06 16:21:28
【问题描述】:
给定一个二分图 G = (U, V, E),我想找出所有V 的(最大)子集,它们是 G 的连通分量的一个“边”。
例如,对于关联矩阵
0 1 0 0 0 1
1 0 0 0 0 1
0 0 0 0 0 0
A = 0 0 0 0 1 0
0 0 1 0 1 0
0 1 0 0 0 0
0 0 0 1 0 0
其中行索引表示 U,列索引表示 V,输出应该是集合 {0, 1, 5}, {2, 4},和 {3}。
这是否等同于任何标准问题?更重要的是,有没有有效的解决方案?
【问题讨论】:
-
连接组件的“一侧”是什么意思? U是“一侧”,V是“另一侧”,所以你想知道V中元素数量最多的连通分量是什么。这样对吗?
-
这与只查找 G 的连通分量并从这些分量中过滤掉 U 中的节点有什么不同?
-
@cyon,就是这样。我只是在想可能有一些方法可以利用 G 的二分性。
-
您愿意分享这个问题出现在哪里吗?我认为二分性可用于从上面限制最大连接组件的大小。
标签: algorithm graph matrix bipartite