php实现插值查找


<?php $data = array(4,6,7,8,14,55,67,145,218,237,284);
$num = interpolationsearch(284); var_dump($num); function interpolationsearch($num){ global $data; $count = count($data); $high = $count-1; $low = 0; while ($high >= $low){ //$mid = floor(($high+$low)/2); $mid = floor($low + ($num-$data[$low])*($high - $low)/($data[$high]-$data[$low])); if($num == $data[$mid]){ return $mid; }elseif($num > $data[$mid]){ $low = $mid + 1; }elseif($num < $data[$mid]){ $high = $mid - 1; } } return false; }
?> 优质内容筛选与推荐>>
1、Pythontime模块学习
2、Dubbo学习笔记(7)
3、MySQL—MHA高可用
4、史上最简单的MySQL教程(三十三)「视图(上)」
5、Dubbo学习笔记(5)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号