当前位置:首页 > 培训职业 > 正文

二分查找(折半查找)

二分查找是一种高效的查找方式,线性表必须采用顺序存储结构,元素需有序排列。

时间复杂度为 log(n)。查找元素个数如下:n n/2 n/4 n/8 n/16 ....

应用示例:

1. 剑指 offer 旋转数组中的最小数字:数组旋转后局部有序,使用二分查找法寻找最小元素。

2. leetcode 33. 搜索旋转排序数组:数组局部递增,利用二分查找在旋转数组中查找目标值。

3. leetcode 34. 查找元素位置:在升序数组中查找目标值的起始和结束位置,时间复杂度需为 O(log n)。

对于问题2中的代码,总体思路是利用数组的局部递增特性进行二分查找,确保目标值落在局部递增序列上。尽管可能存在重复判断,但这是确保正确查找目标值的必要步骤。

多重随机标签

猜你喜欢文章