・Perlで
・任意文字数の単語から、
・検出される全アナグラムパターンを、
・全て生成するアルゴリズムを教えて下さい。
例えば、3文字の特定文字列「ABC」が対象の場合、
ABC、ACB、BAC、BCA、CAB、CBA
という結果が返ってくるという具合です。
できれば、簡略化した処理でなく、
アルゴリズムが理解できるような書き方をされていると嬉しいです。
よろしくお願い申し上げます。
順列を求めるアルゴリズムと等価なので、Math::Combinatoricsを使ってできます。使い方は「Perlで順列組合せの問題を解く」を参考にして下さい。
「アルゴリズムが理解できるような書き方」という意味では、「Perlの順列生成ワンライナーを考える」に掲載されているスクリプトが参考になるでしょう。
コメント(1件)
しかしイメージとしては、様々なアルゴリズムを提示して頂いた上で、
そのなかで速度などの長所・欠点などを知りたかったです。
何はともあれ、初期問題は解決しました。
遅くなりましたが、Pahooさんご回答ありがとうございました。
いずれ、またこの質問と答えを理解してから、発展した同系統のご質問をさせて頂くかも知れません。
その節は、どうかよろしくお願い申し上げます。