欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP算法-二分法查找 博客分类: PHP PHP算法二分法

程序员文章站 2024-03-19 12:21:40
...
**
 * 二分法查找
 * 在有序数组中查询
 *
 * @param int $needle            
 * @param array $arr            
 */
function dichotomize_search($needle, $arr)
{
    $count = count($arr);
    if ($count < 1) {
        return false;
    }
    if ($count == 1) {
        if ($count == $needle) {
            return 0;
        } else {
            return false;
        }
    }
    $first = 0;
    $last = $count - 1;
    
    while ($first <= $last) {
        $mid = floor(($first + $last) / 2);
        if ($arr[$mid] > $needle) {
            $last = $mid - 1;
        } else 
            if ($arr[$mid] < $needle) {
                $first = $mid - 1;
            } else {
                return $mid;
            }
    }
    return false;
}

 

上一篇: php config

下一篇: php config