博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用算法之二分查询python&php
阅读量:7076 次
发布时间:2019-06-28

本文共 728 字,大约阅读时间需要 2 分钟。

hot3.png

python二分查询:

import math

#二分查询(使用有序列表)
def binary_sear(list, item):
    low = 0
    high = len(list) - 1
    while (low <= high):
        mid = math.ceil((low + high) / 2)
        search = list[mid]
        if (search == item):
            return mid
        elif (search > item):
            high = mid - 1;
        else:
            low = mid + 1;
    return None;
lists = [1,2,3,4,5,6,7]
print(binary_sear(lists, 4))

php二分查询:

function binary_sear($arr, $val)

{
    $low = 0;
    $high = count($arr) - 1;
    while($low <= $high) {
        $mid = ceil(($high+$low)/2);
        $search = $arr[$mid];
        if ($search == $val) {
            return $mid;
        } elseif ($search > $val) {
            $high = $mid - 1;
        } else {
            $low = $mid + 1;
        }
    }
}

$arr = [1,2,3,4,5,6,7];

var_dump(binary_sear($arr, 4));

php和python的写法 方便不会python的童鞋看

 

 

转载于:https://my.oschina.net/hackdebug/blog/3010428

你可能感兴趣的文章
Python 一行代码完成局域网文件共享
查看>>
load-on-startup
查看>>
netstat如何查看某端口是否被占用?
查看>>
Hive日期函数笔记
查看>>
随机选择实现
查看>>
多播、组播、广播优缺点分析
查看>>
为什么要创建开放源码的PlayScala社区?
查看>>
push 和pop的区别
查看>>
iOS App 上架流程图文教程
查看>>
接口和实现分离的好处
查看>>
敏捷并不是一件好的事情
查看>>
js获取客户端本地ip
查看>>
JQuery事件之取消默认行为
查看>>
redis 学习笔记(未完)
查看>>
线程组
查看>>
dell c6220安装系统--166
查看>>
python 字典多种方法删除 keys
查看>>
VIM使用系列:位置跳转和块模式
查看>>
数组资源
查看>>
【乡巴佬】在Word中合理排列文本框与文本
查看>>