1. クイックソート
1. はじめに
クイックソートは、Tony Hall によって開発されたソートアルゴリズムです。平均して、n 個の項目を並べ替えるには、O(n log n) 個の比較が必要です。最悪の場合、O(n2) 個の比較が必要になりますが、この状況はまれです。実際、クイックソートは、ほとんどのアーキテクチャで内部ループを効率的に実装できるため、他の Ο(n log n) アルゴリズムよりも大幅に高速であることがよくあります。
クイックソートは、分割統治戦略を使用してシーケンス (リスト) を 2 つのサブシリーズ (サブリスト) に分割します。
2. ステップ
「ピボット」と呼ばれる要素をシーケンスから選択します。
ピボット値よりも小さいすべての要素がピボットの前に配置され、ピボット値よりも大きいすべての要素が配置されるようにシーケンスを並べ替えます。ピボットの前から後ろまで(同じ番号をどちらの側にも付けることができます)。このパーティションが終了すると、塩基はシーケンスの途中になります。これをパーティション操作と呼びます。
基本値より小さい要素の部分配列と基本値より大きい要素の部分配列を再帰的に並べ替えます。
3. コードの実装
';<br> print_r(quickSort(array(1,4,22,5,7,6,9)));<br> print '';
1. はじめに
バブルソート (バブルソート、台湾での翻訳: バブルソートまたはバブルソート) は、単純な並べ替えアルゴリズムです。ソート対象のシーケンスを繰り返し調べて、一度に 2 つの要素を比較し、順序が間違っている場合はそれらを交換します。配列を訪問する作業は、それ以上の交換が必要なくなるまで繰り返されます。これは、配列がソートされたことを意味します。このアルゴリズムの名前は、小さい要素がスワッピングによって配列の先頭にゆっくりと「浮動」するという事実に由来しています。
最後の要素を除くすべての要素に対して上記の手順を繰り返します。
比較する数値のペアがなくなるまで、要素の数を減らしながら上記の手順を繰り返します。3. コードの実装
コードをコピーします
コードは次のとおりです:
';<br> print_r(bubbingSort(array(1,4,22,5,7,6,9)));<br> print '';
true
http://www.bkjia.com/PHPjc/751510.html