n
並べ替えられていない整数の大きなセット(たとえば、 ) があり、それぞれの要素 (は小さい、たとえば) の2^20
サブセットを合計の昇順で生成したい場合、最も効率的な方法は何ですか?k
k
5
この方法でこれらのサブセットを生成する必要があるのは、特定の条件を満たす最小の合計を持つ k 要素サブセットを見つけたいためです。したがって、生成された k 要素サブセットのそれぞれに条件を適用します。
また、アルゴリズムの複雑さはどうなりますか?
同様の質問がここにあります:リスト全体 (すなわちジェネレーター) を構築およびソートせずに、製品の順序でリストの可能なすべてのサブセットを取得するアルゴリズムですが、製品の順序でサブセットを生成することについて、私の目的には適合しません。セットのサイズが非常に大きいため、n
このアルゴリズムは Mathematica で実装するつもりですが、C++ や Python でも実装できます。