回答为时已晚,但是在这里听起来很容易采用迭代方法:1)对于一组n元素,获取的值2^n。将有2 ^ n个子集。(2 ^ n,因为每个元素可以是present(1)或不存在(0)。因此对于n个元素,将有2 ^ n个子集。)例如:for 3 elements, say {a,b,c}, there will be 2^3=8 subsets2)获得的二进制表示形式2^n。例如:8 in binary is 10003)从0转到(2^n - 1)。在每次迭代中,对于二进制表示形式中的每个1,请形成一个子集,其子元素对应于二进制表示形式中该1的索引。例如:For the elements {a, b, c}000 will give {}001 will give {c}010 will give {b}011 will give {b, c}100 will give {a}101 will give {a, c}110 will give {a, b}111 will give {a, b, c}4)对在步骤3中找到的所有子集进行并集。返回。例如:Simple union of above sets!