二分查找(Binary Search)是一种在有序数组中查找特定元素的搜索算法。它的原理是通过不断地将查找区间缩小一半来查找目标值。
下面是二分查找算法的伪代码:
二分查找(数组, 值):
数组长度 = 数组的长度
左端点 = 0
右端点 = 数组长度 - 1
当左端点 <= 右端点 时:
中间点 = (左端点 + 右端点) / 2
如果数组[中间点] = 值:
返回中间点
否则 如果数组[中间点] > 值:
右端点 = 中间点 - 1
否则:
左端点 = 中间点 + 1
返回 -1
这里假设你已经有了一个排好序的数组,并且你要查找的值是 value
。
首先,我们设置数组的长度为 length
,并设置左端点和右端点分别为 0
和 length - 1
。
然后,我们计算数组的中间点,并判断这个值是否等于 value
。如果等于,则返回这个点的下标。
如果不等于,我们再判断这个值是否大于 value
。如果大于,我们就将查找区间的右端点设为中间点的左边一个位置,即 mid - 1
。