python 二分查找

每次排除一半的无效目标,最终找到目标,前提是该序列必须是一个有序的序列

num=int(input("请输入要查找的数字:"))

开始设置左端点为零序号

右端点为len(a)1

存在条件左端点要小于等于右端点

while left >= right:

!:pass占位符的意思是在一个循环中,如果啥也不写会报错,则加pass符合语法,还能避免这种情况,保证不写代码片段的时候它还能有一个代码的合规性

创建一个变量跟二整除middle =(left+right)//2

如果要查找的目标比中间的元素大,说明查找的范围不在0到中间这个范围内,前端点就不要了,后端点前移,比较的元素移动不比较就是-1

if a[middle]>num:

right= middle-1

如果要查找的目标比中间的元素小,说明查找的范围不在中间到尾端这个范围内,后端点就不要了,比较的元素移动比较就是+1

if a[middle]<num:

left = middle+1

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值