5

N要素の長さ=1から長さ=Nまで、繰り返しなしですべての可能な組み合わせを計算するための可能なアルゴリズムを知りたいです。

例:

要素:1、2、3。

出力:

1
2
3
12
13
23
123
4

1 に答える 1

12

0 から 2^n - 1 までの数値の 2 進数表現を見てください。

n = 3

i  Binary  Combination

   CBA

0  000
1  001     A
2  010       B
3  011     A B
4  100         C
5  101     A   C
6  110       B C
7  111     A B C

したがって、1 から 2^n - 1 までの数値を列挙し、バイナリ表現を見て、どの要素を含めるかを知る必要があります。それらを要素の数で並べ替えたい場合は、それらをソートするか、順番に番号を生成します(SOにはいくつかの例があります)。

于 2009-09-24T13:11:20.917 に答える