This question already has answers here:

Finding all the subsets of a set
(18个答案)
我想找到一个大型阵列(最多1500个)的所有powerset子集的总和。我搜索了一下,但找不到有效的算法。
例子:
array=[1,2,3]

回答:
{} -> 0,{1} -> 1,{2} -> 2,{3} -> 3,{1,2} -> 3,{1,3} -> 4,{2,3} -> 5,{1,2,3} -> 6

有没有一种有效的方法?

最佳答案

一个数组有2^n个子集,有n个元素。
每一个元素都会出现在其中的一半。
因此,所有子集的和将是所有元素的和乘以2n-1。

关于c++ - 用于大型阵列的Powerset ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27336175/

10-13 06:56