美文网首页
二分查找法

二分查找法

作者: 散装咖啡 | 来源:发表于2017-05-31 00:51 被阅读1次
    <?php
        #二分查找
        function binarySearch(Array $arr, $target) {
            $low = 0;
            $high = count($arr) - 1;
            
            while($low <= $high) {
                $mid = floor(($low + $high) / 2);
                #找到元素
                if($arr[$mid] == $target) return $mid;
                #中元素比目标大,查找左部
                if($arr[$mid] > $target) $high = $mid - 1;
                #重元素比目标小,查找右部
                if($arr[$mid] < $target) $low = $mid + 1;
            }
            
            #查找失败
            return false;
        }
        
        $arr = array(1, 3, 5, 7, 9, 11);
        $inx = binarySearch($arr, 1);
        var_dump($inx);
    ?>
    

    参考文章 http://www.cnblogs.com/zemliu/archive/2012/08/22/2650116.html

    相关文章

      网友评论

          本文标题:二分查找法

          本文链接:https://www.haomeiwen.com/subject/zvddfxtx.html