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

    二分查找

    • 使用PHP描述顺序查找和二分查找(也叫做折半查找)

    自定义区间二分查找

    function bin_sch($array, $low, $high, $k){
        if ($low <= $high){
            $mid = intval(($low+$high)/2);
            if ($array[$mid] == $k) {
                return $mid;
            }elseif ($k < $array[$mid]) {
                return bin_sch($array, $low, $mid-1, $k);
            }else{
                return bin_sch($array, $mid+1, $high, $k);
            }
        }
        return -1;
    }
    

    全区间二分查找

    function getNum($num, $arr) {
        $length = count($arr);
        $start = 0;
        $end = $length - 1;
        while ($start <= $end) {
            $middle = floor(($start + $end) / 2);
            echo 'start = '.$start.' and end = '.$end.' middle = '.$middle."
    ";
            sleep(1);
            if ($arr[$middle] == $num) {
                return $middle;
            }
            if ($arr[$middle] < $num) {
                $start = $middle + 1;
            } else {
                $end = $middle - 1;
            }
        }
        return false;
    }
    
  • 相关阅读:
    iOS进阶_三方使用步骤
    Runtime
    感想
    git
    随笔感想
    关于APP上架问题需要ipad图标的问题
    ubuntu安装
    JNI和NDK
    数据结构——队列链表实现
    数据结构——栈的实现(数组、Java)
  • 原文地址:https://www.cnblogs.com/mxyindex/p/11050997.html
Copyright © 2011-2022 走看看