二分查找

二分查找也叫折半查找。它用于从一个有序序列中,查找目标元素所处的位置。


查找过程

假设,有序序列是升序的


代码实现

tim-chow的github


时间复杂度

在最坏的情况下,基本操作(比较目标元素 和 子序列中间位置的元素)的重复执行的次数是:
T(n) = T(n/2) + 1 --->
T(n) = (T(n/4) + 1) + 1 --->
...
T(n) = T(n/k) + log2k 并且 T(1) = 1,所以:
T(n) = log2n


参考文档