何为二分查找?
二分查找,也称为折半查找,是用于在有序数组中查找特定元素的搜索算法。
二分查找的查找过程是将位于数组中间的元素值与要查找特定值进行比较。若中间元素值小于特定值,则说明该元素位于数组右侧区域,在右侧区域继续折半查找。若中间元素值大于特定值,则说明该元素位于数组左侧区域,在左侧区域继续折半查找。若等于,则返回中间元素的数组下标。
通过上面的示意图,我们可以看出对于一个具有 n 个元素的数组,第一次折半查找后数组范围变为n/2;第二次折半查找后数组范围变为n/4;以此类推,最后数组范围为1。我们可以看出它的变化规律是
n 2 1 , n 2 2 , n 2 3 , . . . , n 2 k \frac n {2^1} ,\frac n {2^2},\frac n {2^3},...,\frac n {2^k} 21n,