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))
相关推荐
小熳芋1 天前
单词搜索- python-dfs&剪枝
算法·深度优先·剪枝
Bruce_Liuxiaowei1 天前
Nmap+Fofa 一体化信息搜集工具打造
运维·开发语言·网络·网络安全
智航GIS1 天前
5.1 if语句基础
开发语言·python
Xの哲學1 天前
Linux SLAB分配器深度解剖
linux·服务器·网络·算法·边缘计算
bu_shuo1 天前
MATLAB中的转置操作及其必要性
开发语言·算法·matlab
华研前沿标杆游学1 天前
2026年湖南省工业旅游线路
python
高洁011 天前
图神经网络初探(2)
人工智能·深度学习·算法·机器学习·transformer
爱装代码的小瓶子1 天前
算法【c++】二叉树搜索树转换成排序双向链表
c++·算法·链表
思成Codes1 天前
数据结构:基础线段树——线段树系列(提供模板)
数据结构·算法
APIshop1 天前
深入解析京东API接口:如何高效获取商品详情与SKU信息
python