python 二分查找

1.二分查找首先被查找的序列是一个有序的。

2.明确序列的左右边界

3.找出序列中间的元素,判断如果是要查找的元素,返回元素

4.如果中间元素,大于或者小于查找的元素,那么改变左右边间,直到中间的数等于查找的元素。

python 复制代码
def Two_selecter(find_num,nums):
    #划定左右边界下标
    left,right = 0,len(nums)-1
    while left <= right:
        #计算出折半值的下标
        pivot = left + (right - left) // 2
        #如果相等,就找到了,返回值
        if nums[pivot] == find_num:
            return nums[pivot]
        #如果小于中间值,中间值的下标退一位,变成右边界
        if find_num < nums[pivot]:
            right = pivot - 1
        #如果中间值小于查找值,中间值+1,变成左边界
        else:
            left = pivot + 1
    return None

a = [1,2,3,4,5,6,7,8,9,10]
print(Two_selecter(2,a))
相关推荐
Jerry几秒前
LeetCode 704. 二分查找
算法
c_lb728813 分钟前
最新AI量化提效,交易认知和技术实现要接上
人工智能·python
机汇五金_14 分钟前
钣金外壳定制厂家助力设备升级
大数据·人工智能·python·物联网
Gp7HH6hrE17 分钟前
P1118 [USACO06FEB] Backward Digit Sums G/S
算法·深度优先
AI科技星21 分钟前
32维超复数流形中意识信息场与物质耦合的拓扑动力学
人工智能·学习·算法·数据挖掘·回归·乖乖数学·全域数学
lilihuigz33 分钟前
Meta Box完整指南:WordPress自定义字段与内容框架高效构建结构化内容 - 易服客工作室
java·开发语言
xxie12379438 分钟前
Python 闭包的调用方法与实践
开发语言·python
HZZD_HZZD39 分钟前
用电行为异常检测VAE-基于PyTorch设计用电行为异常检测模型:从时序特征提取到变分自编码器部署的完整实战
人工智能·pytorch·python
aini_lovee40 分钟前
计算 HOG算子的典型 MATLAB 程序
开发语言·matlab
楷哥爱开发41 分钟前
降低网络爬虫成本:基础设施优化指南
服务器·开发语言·php