文字列と整数の配置アルゴリズム
原則を理解
初期手順:単一の要素の場合、配置は要素自体です。
2つの要素:
<code>perm(a) -> a</code>
3つの要素:
<code>perm(ab) -> a + perm(b) -> ab b + perm(a) -> ba</code>
擬似コードの再帰アルゴリズム
c#実装<code>perm(abc) -> a + perm(bc) -> abc, acb b + perm(ac) -> bac, bca c + perm(ab) -> cab, cba</code>
<code>generatePermutations(permutation) { if (permutation 的长度 为 0) { 打印 permutation 返回 } 对于 permutation 中的每个元素 element: 创建一个新的排列 newPermutation,移除 element 将 element 添加到 generatePermutations(newPermutation) 的结果的前面 }</code>関数スイッチの配列内の2つの要素がありますが、再帰関数はすべての可能な配置を通過します。 バックバックステップ()次の配置を生成するために、配置を処理した後、配列が前の状態に戻ることを確認します。
以上が再帰的なアルゴリズムは、文字列と整数のすべての順列をどのように生成できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。