可能性の重複:
Generate list of all possible permutations of a string可能な文字列の組み合わせのリストを作成する
こんにちはみんな、
私は私ができるようにする必要があり、小さなアルゴリズムのプロジェクトで作業する必要があります与えられた制限に基づいて与えられた文字セットの可能な組み合わせをテキストファイルにリストして書き込む。私は「A」、「B」、および「c」を文字を入力し、3に制限を設定した場合
例えば、可能な出力は次のようになります。
a
b
c
aa
bb
cc
ab
ac
ba
bc
ca
cb
...
aaa
bbb
ccc
...
...
abc
acb
bac
bca
cab
cba
すべての可能な組み合わせが考案されているまで、 。
これをテキストファイルに書き込むことは問題ありません。その組み合わせを書くアルゴリズムを持つことは、私があまりよくしていないことです。
.NET(C#またはVB)コードでお楽しみください。
ありがとうございました。
PS
サイドノートでは、私はそれが可能なすべてのキーボード文字の文字列の組み合わせを作成し、どのように大きなファイルがあることをなるだろうアプリケーションのためにかかるだろうどのくらいだろう。
更新: 私も
「文字組み合わせアルゴリズム」のクイックグーグルサーチで、このディスカッションが見つかりました。これは、アルゴリズムの概要を説明する最初のヒットです。http://www.daniweb.com/ forums/thread110604.html – FrustratedWithFormsDesigner
サイズ 'b'のセットから' n'個の項目の 'n ** b'個のユニークな順列があります。 (特に、これは、基数bのn桁の数字が表すことができる数字の数を示します(例えば、5ビット: '2 ** 5 == 32 '))。 ASCII(印刷可能な95文字)を仮定しても、857,375の3文字、81,450,625の4文字の文字列があります。これはexpotentiallyに成長する。そして、今や、あなたは256文字のUnicodeのコードページを持っています。多くの目的のために、はるかに安価なソリューションがあります... – delnan