二分搜索简介
二分搜索是一种在 有序数组 中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是目标值,则搜索过程结束;如果目标值大于或小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。
算法步骤
- 设定左边界
left和右边界right。 - 当
left <= right时,循环执行: a. 计算中间位置mid = left + (right - left) / 2。 b. 如果array[mid]等于目标值,则返回mid。 c. 如果array[mid]小于目标值,则目标值在右半部分,更新left = mid + 1。 d. 如果array[mid]大于目标值,则目标值在左半部分,更新right = mid - 1。 - 如果循环结束仍未找到,则返回 -1。
7/4/24About 1 min