ホームページ  >  記事  >  バックエンド開発  >  PHP の単純な選択ソート アルゴリズムの例、PHP アルゴリズムの例_PHP チュートリアル

PHP の単純な選択ソート アルゴリズムの例、PHP アルゴリズムの例_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:09:001062ブラウズ

PHP 単純な選択並べ替えアルゴリズムの例、PHP アルゴリズムの例

シンプルな選択ソートアルゴリズム: キーワード間のn-i比較を通じて、n-i+1レコードから最小のキーワードを持つレコードを選択し、それをi番目(1

コードをコピーします コードは次のとおりです:

クラスソート{
/**
*簡易選択ソート
*
* @param 不明なタイプ $arr
                     */
パブリック関数 selectSort(&$arr) {
$len=count($arr);
for ($i=0;$i<$len;$i++) {
$min=$i;
for ($j=$i+1;$j<=$len-1;$j++) {
If ($arr[$min]>$arr[$j]) {//$arr[$min] より小さい値が見つかった場合、添え字を $min に割り当てます
$min=$j;
}
}
If ($min!=$i){//$min が $i に等しくない場合、最小値が見つかったことを意味し、交換
$this->swap($arr[$i],$arr[$min]);
}
}
}
/**
* 2 つの値 $a と $b の位置を入れ替えます
                     */
パブリック関数スワップ(&$a,&$b) {
$temp=$a;
$a=$b;
$b=$temp;
}
}
$arr=array(4,6,1,2,9,8,7,3,5);
$test=新しい並べ替え(); $test->selectSort($arr);//単純な選択ソート
// var_dump($arr);
?>

シンプルな選択ソートの特徴:モバイルデータの交換回数が非常に少ないため、対応する時間を節約できます

単純な選択ソートの時間計算量分析:
最良の場合でも最悪の場合でも、比較の数は同じです。i 番目の並べ替えでは、n-i 個のキーワードの比較が必要です。つまり、n(n-1)/2 個の比較が必要です。したがって、最終的な時間計算量は O(n^2) になります
バブル ソートと同様に O(n^2) ですが、それでも選択ソートのパフォーマンスはバブル ソートよりわずかに優れています。

http://www.bkjia.com/PHPjc/947915.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/947915.html技術記事 PHP 単純な選択ソート アルゴリズムの例、PHP アルゴリズムの単純な選択ソート アルゴリズムの例: キーワード間の n-i 比較を通じて、n-i+1 レコードから最小のキーワードを持つレコードを選択し、それを...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。