検索
ホームページphp教程php手册ルックアップテーブルのPHP実装

【基本アルゴリズム】

配列があり、配列内の特定の値の位置を見つける必要があるとします。


//二分探索
function bin_sch($array, $low, $high, $k){
if ($low $mid = intval(($low+ $high)/2);
if ($array[$mid] == $k){
return $mid;
}elseif ($k return bin_sch($array, $ Low, $ MID -1, $ k);
} else {
Return bin_sch ($ array, $ middle+1, $ high, $ k); // 逐次検索
関数 seq_sch($array, $n, $ k){
$array[$n] = $k;
for($i=0; $i if( $array[$i]==$k){

}



?>



テストコード:
array.txt ファイルには 2,3,4,5 と同様の 100 万個のデータが含まれており、速度は逐次検索と二分探索によって決定されます。




//二分探索
set_time_limit(0);

$file = file_get_contents("./array.txt");

$array =explode( ",", $file);

$st = time();

$n = count($array); , $n-1, $k);
$t = $et-$st;
echo ". $t ."/s";

上記の出力: 処理時間: 0/s

//逐次検索
set_time_limit(0);
$array = array();
$file = file_get_contents("./array.txt") ;
$array =explode(",", $file);

$st = time();

$n = count($array); n , $k);
$et = $et-$st;

echo ". $t ."/s";結果: 処理時間: 9/秒



上記から誰がより効率的であるかが簡単にわかります。

【アルゴリズム改善】



//二分探索(再帰消去)

function bin_sch($array, $n, $k){

$low = 0;

$high = $n-1;

while($low $mid = intval(($high-$low)/2);
if ($array[$mid] == $k)
return $mid; ($k
// 逐次検索(改良版)

function seq_sch($array, $n, $k){

$array[$n] = $k;
for($i=0; ; $ i++){
if($array[ $i]==$k){
}
}

?>



上記 2 つの関数にどのような変更が加えられたかわかりますか?効率はどれくらい向上しましたか?



声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境