ホームページ >バックエンド開発 >PHPチュートリアル >PHP 完全置換アルゴリズム実装プログラム コード_PHP チュートリアル
n 個の異なる要素から m (m≤n) 個の要素を選択し、それらを特定の順序で配置します。これを、n 個の異なる要素からの m 要素の配置と呼びます。 m=n の場合、すべての順列は完全順列と呼ばれます。
はじめに
例えば、3つの要素1、2、3の合計配置は次のようになります。
1、2、31,3,2
2,1,3
2,3,1
3,1,2
3,2,1
合計3*2*1=6種類3!
2式
完全な順列数 f(n)=n!(定義 0!=1)
再帰的アルゴリズム
1、2、3
1,3,2
2,1,3
2,3,1
3,2,1
3,1,2
これは、アルゴリズムが完全な順列を出力する方法のみを考慮し、転置に問題があるかどうかを考慮していないためです。そこで、転置関数を変更するという解決策を思いつきました
例えば、1 2 3を転置する場合、直接3 2 1にするのではなく、3と1を直接転置するのではなく、3を前後に配置し、1 2を順番に後ろに配置する必要があります。
基本的なアルゴリズム
以下に 4 種類の全置換アルゴリズムを紹介します。
(A)辞書順
(B)キャリー数増加法
(C)キャリー数減少法
(D)オルソスワップ法
完全な置換アルゴリズムの実装
header("content-type:text/html;charset=utf-8");/** |