算法:二分搜索算法(折半查找算法)
时间复杂度:
二分搜索算法概述
二分搜索算法伪代码
二分搜索算法实现
二分搜索算法概述
二分搜索算法,也称折半查找算法,即在一个有序数组中查找某一个特定元素。整个搜索过程从中间开始,如果要查找的元素即中间元素,那么搜索过程结束;反之根据中间元素与要查找元素的关系在数组对应的那一半查找,例如查找元素大于中间元素,则在整个数组较大元素的那一半查找,反复进行这个过程,直到找到元素,或者数组为空,查找不到元素。
二分搜索算法描述
给定一个数组A_0,A_1...A_{n-1}, A_0 \le A_1 \le \cdot \le A_{n - 1},待查找元素为searchnum:
用left,right分别表示左右端点,即要查找的范围;
用middle表示中间点,middle = \lfloor (left + right) / 2 \rfloor;
若left > right,搜索失败;
若A{middle} > searchnum,right = middle - 1,返回3;
若A{middle} < searchnum