再帰二分探索について、兄弟姉妹の皆さんが
を手伝って説明できることを願っています。
$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 を検索";
}
}
}
?> これは再帰的バイナリ検索のコードです。現時点ではこの再帰的メソッドがどのように実装されているかがわかりません。特に詳細な説明が必要です。条件が満たされていると判断してから関数を再度呼び出すと、少しめまいを感じます。皆さん、説明していただきありがとうございます。