码迷,mamicode.com
首页 > 其他好文 > 详细

二分查找

时间:2015-11-24 14:46:12      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

/**
 * Created by PhpStorm.
 * User: huangye
 * Date: 2015/8/26
 * Time: 18:57
 */

//通过
function binSearch_1($a_data, $key)
{
    $len = count($a_data);
    $low = 0;
    $high = $len - 1;
    while ($low <= $high) {
        $mid = intval(($high + $low) / 2);
        if ($key < $a_data[$mid]) {
            $high = $mid - 1;
        } elseif ($key > $a_data[$mid]) {
            $low = $mid + 1;
        } else {
            return true;
        }
    }

    return false;
}

//通过
//递归版本
function binSearchRecurse($array, $low, $high, $k)
{
    if ($low <= $high) {
        $mid = intval(($low + $high) / 2);
        if($array[$mid] == $k) {
            return true;
        } elseif ($k < $array[$mid]) {
            return binSearch_2($array, $low, $mid - 1, $k);
        } else {
            return binSearch_2($array, $mid + 1, $high, $k);
        }
    }

    return false;
}

$a_data = [1,2,3,4,5,6,7,8,9];
var_dump(binSearch_2($a_data, 0, count($a_data), 8));

 

二分查找

标签:

原文地址:http://www.cnblogs.com/huangye-dream/p/4991423.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!