如果我有一个未排序的大型整数集合(假设有2 ^ 20个),并且想要生成每个k个元素(其中k很小,例如5)的子集,并按它们的总和递增排序,则最有效的方法是什么?
我需要以这种方式生成这些子集的原因是,我想找到满足某个条件的最小总和k元素子集,并因此在生成的每个k元素子集上应用该条件。
此外,算法的复杂度将是多少?
这里有一个类似的问题: 算法以它们的乘积顺序获取列表的每个可能子集,而无需构建和排序整个列表(即Generators),但由于集合n非常大,所以不适用于我的需求。
我打算在Mathematica中实现算法,但也可以在C ++或Python中完成。
我需要以这种方式生成这些子集的原因是,我想找到满足某个条件的最小总和k元素子集,并因此在生成的每个k元素子集上应用该条件。
此外,算法的复杂度将是多少?
这里有一个类似的问题: 算法以它们的乘积顺序获取列表的每个可能子集,而无需构建和排序整个列表(即Generators),但由于集合n非常大,所以不适用于我的需求。
我打算在Mathematica中实现算法,但也可以在C ++或Python中完成。