算法:查找数组中元素的最大子集

时间:2015-11-10 13:36:49

标签: arrays algorithm

我有一个包含元素对的数组arr。我需要从该数组中找到最大的子集,这样,该子集中的每个成对元素都存在于数组arr中。

e.g。让arr = [(a,b), (a,c), (a,d), (b,d)]
然后,最大的子集将是{a,b,d},因为子集中的所有可能的成对组合都存在于arr中。

1 个答案:

答案 0 :(得分:1)

这相当于在无向图中找到最大的完整组件(最大团队问题)的问题,其中每对代表图中的边。

这个问题是NP难的,所以没有比简单的强力搜索更好的方法了。这个实现要么微不足道要么太复杂,不能在这里发布,所以你必须自己解决这个问题。