数组的查找算法
所谓查找算法,大体是要解决这样一个问题:找出数组中是否存在某个值
顺序查找
从头到尾一个个去判断,
二分查找算法
二分查找算法的前提:
针对的是已经排好序的索引数组;
二分法代码示例:
Functional binary_search($arr , $s , $begin , $end){
$mid=floor(($begin+$end)/2); //定位中间位置
$mid_value=$arr[$mid]; //取得中间项值
If($mid_value==$s){
Return true;
}
Else if($mid_value>$s){ //往左边找
If($begin>$mid-1){
Return false;
}
$re =binary_search($arr, $s, $begin, $mid-1);
}
Else{
If($mid+1>$end){
Return false;
}
$re =binary_search($arr, $s, $mid+1 $end);
}
Return $re;
}
|
|