谈一谈二分查找及其变形问题

本文详细介绍了二分查找算法及其在解决有序数组中特定值的查找问题时的变形,包括查找第一个等于特定值的元素和搜索旋转排序数组。讨论了不同解法的时间复杂度和实现策略,强调了在变形问题中如何保持算法效率的关键点。
摘要由CSDN通过智能技术生成

在这里插入图片描述

何为二分查找?

二分查找,也称为折半查找,是用于在有序数组中查找特定元素的搜索算法。

二分查找的查找过程是将位于数组中间的元素值与要查找特定值进行比较。若中间元素值小于特定值,则说明该元素位于数组右侧区域,在右侧区域继续折半查找。若中间元素值大于特定值,则说明该元素位于数组左侧区域,在左侧区域继续折半查找。若等于,则返回中间元素的数组下标。

在这里插入图片描述
通过上面的示意图,我们可以看出对于一个具有 n 个元素的数组,第一次折半查找后数组范围变为n/2;第二次折半查找后数组范围变为n/4;以此类推,最后数组范围为1。我们可以看出它的变化规律是
n 2 1 , n 2 2 , n 2 3 , . . . , n 2 k \frac n {2^1} ,\frac n {2^2},\frac n {2^3},...,\frac n {2^k} 21n,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值