zoukankan      html  css  js  c++  java
  • 二分查找算法

      二分查找使用前提:1)存储在数组中(数组可以实现随机读取);2)数组元素有序(升序或降序);3)数组元素没有重复

    时间复杂度:logn。【log8=3 ,, log16=4】(这里的log是以2为底的!!!)

    程序是写完源代码后,计算机编译后得到的可执行文件。

    //二分查找
    function binarySearch($arr,$k,$low=0,$high=0){
        $len = count($arr);
        //判断是不是第一次调用
        if($len != 0 && $high == 0){
            $high = $len;
        }
        if($low<=$high){
            $mid = intval(($low+$high)/2);
            if($arr[$mid] == $k){
                return $mid;
            }elseif($k<$arr[$mid]){
                return binarySearch($arr,$k,$low,$mid-1);
            }else{
                return binarySearch($arr,$k,$mid+1,$high);
            }
        }
        return '没有要查找的值';
    
    }
    $arr = [1,2,3,5,7,9,15,16,20];
    echo '您要找的值在数组中下标为'.binarySearch($arr,9);
  • 相关阅读:
    docker安装kafka
    Prometheus警报
    MongoDB介绍
    SpringMvc中几个注解
    无DNS安装VCSA
    互联网本质
    什么是领导力
    58沈剑_一分钟专栏
    以数据库思维理解区块链
    区块链的4个实际应用
  • 原文地址:https://www.cnblogs.com/bneglect/p/10284287.html
Copyright © 2011-2022 走看看