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

    <?php
    /**
     *    查找
     **/
    //顺序查找
    function normal_search($arr, $val){
        $count = count($arr);
        if($count == 0){
            return -1;
        }
        for($i=0; $i<$count; $i++){
            if($arr[$i] == $val){
                return $i;
            }
        }
        return -1;
    }
    
    //二分查找-非递归
    function bin_search($arr, $low, $high, $value){
        while($low<=$high){
            $mid = floor(($low+$high)/2);
            if($value == $arr[$mid]){
                return $mid;
            }elseif($value < $arr[$mid]){
                $high = $mid-1;
            }else{
                $low = $mid+1;
            }
        }
        return false;
    }
    
    //二分查找-递归
    function bin_searchTwo($arr, $low, $high, $value){
        if($low>$high){
            return false;
        }
        $mid = floor(($low+$high)/2);
        if($value == $arr[$mid]){
            return $mid;
        }elseif($value < $arr[$mid]){
            return bin_searchTwo($arr, $low, $mid-1, $value);
        }else{
            return bin_searchTwo($arr, $mid+1, $high, $value);
        }
    }
    ?>
  • 相关阅读:
    log日志----logging模块
    配置文件--configparser
    面向对象——进阶
    面向对象
    内置函数
    模块和包
    常用模块
    正则表达式
    递归函数
    内置函数+匿名函数
  • 原文地址:https://www.cnblogs.com/hell0x/p/5347093.html
Copyright © 2011-2022 走看看