二分查找思想及时间复杂度

使用条件:一维有序数组

查找思想:折半 + 夹逼查找

        通过数组array起始位置left和结束位置right折半找到中间位置mid,即mid =(left + right)/2;比较目标值target与mid处数组元素的大小,

(1)若target == array[mid],返回mid;

(2)若target < array[mid],说明目标值在left到mid区间内,再按照折半方法在left至mid区间内查找;

(3)反之,即target > array[mid],说明目标值target在mid至right区间范围内,按照折半方法在mid至right区间内查找。

(4)重复(2)(3),直到满足结束条件。

查找结束条件:找到目标值或指向数组起始位置的指针left大于指向数组结束位置的指针right。

返回值:找到目标值target,返回该值在数组中的下标;

              未找到target,返回-1。

时间复杂度:O()=O(logn)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值