ホームページ  >  記事  >  バックエンド開発  >  再帰二分探索について教えてください。

再帰二分探索について教えてください。

WBOY
WBOYオリジナル
2016-06-13 12:47:15889ブラウズ

再帰二分探索について、兄弟姉妹の皆さんが
を手伝って説明できることを願っています。 $Arr=array(1,2,3,4,5,6);
Search($Arr,6,0,count($Arr)-1);
関数 Search($Arr,$FindVal,$LeftIndex,$RightIndex){
if($FindVal>$Arr[count($Arr)-1]){
echo "値が見つかりません";
}else if($FindVal<$Arr[0]){
echo "値が見つかりません";
}その他{
$MiddleIndex=round(($LeftIndex $RightIndex)/2);
if ($Arr[$MiddleIndex]<$FindVal){
Search($Arr,$FindVal, $MiddleIndex,$RightIndex);
}else if($Arr[$MiddleIndex]>$FindVal){
Search($Arr,$FindVal,$LeftIndex,--$MiddleIndex);
}その他{
echo "添え字 $MiddleIndex を検索";
}
}
}
?> これは再帰的バイナリ検索のコードです。現時点ではこの再帰的メソッドがどのように実装されているかがわかりません。特に詳細な説明が必要です。条件が満たされていると判断してから関数を再度呼び出すと、少しめまいを感じます。皆さん、説明していただきありがとうございます。

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