二分查找也叫折半查找。它用于从一个有序序列中,查找目标元素所处的位置。
假设,有序序列是升序的
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