二分查找法的基本思想和前提是什么?
适用的前提条件:
1. 存储在数组中(例如一维数组)
2. 数组元素为有序(例如升序)查找的基本思想:折半查找,设查找的元素为value value与中间元素(middle = left + (right -left) / 2这样做的好处防止中间元素出现越界)比较,若比中间值小则查找范围在middle + 1继续查找,若比中间值大则查找范围在middle -1,若与中间值相等则查找结束索引元素为value = middle。
二分查找最坏查找次数计算公式?
二分查找法最坏情况
n个数, 比较中间的数,一次去掉一半,余下n/2个
n/2个数, 再比较中间的数,一次去掉一半,余下n/4个
n/4个数, 再比较中间的数,一次去掉一半,余下n/8个
n/8个数, 再比较中间的数,一次去掉一半,余下n/16个