2021-11-23二分法基本思想

二分法是一种十分高效的查找方式,常用于数据量很大时进行查找,二分法用于在单调的序列内快速查找某个值,方法是序列分为两半,判断要查找的值在哪个区间,舍弃另一半,每次查询都会舍弃序列的一半

但有前提是(1)数据量庞大,需要缩短时间复杂度;(2)有序数组;(3)需要找到某一个值或某一个位置时

假如我从一个数组中寻找查找一个数下,先将这个有序数组的第一个数设为frist并赋值给first,最后一个数设为last并赋值给last,最中间的那个数设为middle,middle=(first+last)/2. 比较给定值firstx与middle值的大小;

     1)middle=(first+last)/2;
      2)若middle == x ,则查找成功,结束查找;
           若middle> x ,则表明给定值x只可能在区间first ~ middle-1内,修改检索范围。令last=middle-1,first值保持不变;first
           若middle< x ,则表明给定值x只可能在区间middle~last内,修改检索范围。令first=middle+1,last值保持不变。
      3)比较当前变量first和last的值,若first≤last,重复执行第1)、2)两步,若first>last,表明数组中不存在待查找的元素,查找失败。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值