二分查找

原创 2016年06月02日 10:16:59
/*二分查找 是针对一个已经进行排序的数组进行查找*/
    /*
        $arr 要查找的数组
        $v 要查找的数
        $start 要查找的开始位置
        $end 要查找的结束位置
    */
    function binary_search($arr, $v, $start, $end){
         if($start > $end){
            return false;
         }else{
             $middle = (int)(($start + $end)/2);
             if($arr[$middle] == $v){
                return $middle + 1;
             }else if($arr[$middle] > $v){
                return binary_search($arr, $v, $start, $middle-1);
             }else{
                return binary_search($arr, $v, $middle+1, $end);
             }        
         }        
    }
    $arr = array(2, 3, 4, 6, 8, 10);
    //获得数组的长度
    $len = count($arr);
    $result = binary_search($arr, 3, 0, $len-1);
    if( $result === false){
        echo "没找到啊<br />";
    }else{
        echo "第" . $result ."项<br />";
    }
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

二分查找教程

  • 2014-10-11 22:40
  • 226KB
  • 下载

二分查找算法-C++

II.有序表查找 一、折半查找(::二分查找) :前提,关键字有序,线性表顺序存储。 :思想,每次比较取中间记录作为比较对象  算法复杂度:O(logn)

简单二分查找

  • 2014-06-28 22:59
  • 605B
  • 下载

二分查找--java实现

【编程珠玑】第二章 二分查找的巧妙应用

一,三个问题 A题:给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数。            1、在文件中至少存在这样一个数?          ...

二分查找代码

二分查找的实现

  • 2013-07-03 16:09
  • 2.25MB
  • 下载

基本的二分查找

二分查找有两个库函数lower_bound和upper_bound int a[10] = {0,1,2,2,4,4,4,4,5,6}; int k = (int)(lower_bound(...

二分查找算法

  • 2012-07-29 10:25
  • 683KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)