PHP查找算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
    }
}
?>

 

以上是关于PHP查找算法的主要内容,如果未能解决你的问题,请参考以下文章

PHP实现基本算法代码

一致性哈希算法PHP测试片段

PHP查找算法

超级有用的9个PHP代码片段

PHP必用代码片段

Python 和 C++ 下字符串查找速度对比,你觉得Python适合算法竞赛吗