nタプルを列挙したいと思います。たとえば、n=2 の場合:
00 01 10 11
02 20 12 21 22
03 30 13 31 23 32 33
04 40 14 41 ...
n=3 は次のように始まります。
000 001 010 100 011 101 110 111
002 020 200 012 102 021 120 201 210 112 121 211 122 212 221 222
003 ...
同じ要素を持つタプルの順序は重要ではありませんが (001 と 010 など)、より多くの要素 (011 対 001) またはより重要な要素 (002 対 001) を持つタプルは常に後で来る必要があります。
いくつかの検索の後、多くの関連するアルゴリズムがあるように見えましたが、このケースに特化したものはありませんでした. そのようなアルゴリズムはありますか?
編集: n=2 ケースの画像。緑色の線は、タプル内の要素の順序をシャッフルすることによって到達する要素を示します。
編集:注文に関する説明:
- タプルは主に最大要素 (152 > 444) でソートされます
- 次に、2 番目に大きい要素 (053 > 252) など (12341 > 12340) で並べ替えられます。
- 同じ要素を持つタプル間の順序は任意です (123 = 321)