【问题标题】:Algorithm to find vertex subsets induced by connected components of a bipartite graph查找由二分图的连通分量引起的顶点子集的算法
【发布时间】: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


【解决方案1】:

这类似于查找图的所有连通分量,其边和顶点的数量是线性的。这种方法的标准算法是对每个顶点进行广度或深度优先搜索。

我认为利用图的二分性不会提高复杂性,除了减少与该算法相关的常数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多