- 假设序列里有 n n n个元素
- 第一次二分后,需要继续在 n 2 \frac{n}{2} 2n个元素中进行查找
- 第二次二分后,需要继续在 n 2 2 \frac{n}{2^2} 22n个元素中进行查找
- 最坏的情况下,只剩下一个元素,也就是继续在 n 2 t \frac{n}{2^t} 2tn个元素中进行查找
- 所以 t t t是查找的次数,我们使得
n 2 t = 1 \frac{n}{2^t}=1 2tn=1
2 t = n 2^t=n 2t=n
t = l o g 2 ( n ) t=log_2(n) t=log2(n)
- 所以时间复杂度为 O ( l o g 2 n ) O(log_2n) O(log2n)