【基本アルゴリズム】
配列があり、配列内の特定の値の位置を見つける必要があるとします。
//二分探索
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);
$array =explode( ",", $file);
$st = time();$n = count($array); , $n-1, $k);
$t = $et-$st; echo ". $t ."/s";
//逐次検索
set_time_limit(0);
$array = array();
$file = file_get_contents("./array.txt") ;
$array =explode(",", $file);
$n = count($array); n , $k);
$et = $et-$st;
上記から誰がより効率的であるかが簡単にわかります。
//二分探索(再帰消去)
$low = 0;
$high = $n-1; while($low $mid = intval(($high-$low)/2);
if ($array[$mid] == $k)
return $mid; ($k
// 逐次検索(改良版)
$array[$n] = $k;
for($i=0; ; $ i++){
if($array[ $i]==$k){
}
}
上記 2 つの関数にどのような変更が加えられたかわかりますか?効率はどれくらい向上しましたか?

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

WebStorm Mac版
便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
