二分法(Bisection method) 即一分为二的方法. 设[a,b]为R的闭区间. 逐次二分法就是造出如下的区间序列([an,bn]):a0=a,b0=b,且对任一自然数n,[an+1,bn+1]或者等于[an,cn],或者等于[cn,bn],其中cn表示[an,bn]的中点.
(1)确定该区间的中间位置K
(2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。区域确定如下:a.array[k]>T 由数组的有序性可知array[k,k+1,……,high]>T;故新的区间为array[low,……,K-1]b.array[k]<T 类似上面查找区间为array[k+1,……,high]。每一次查找与中间值比较,可以确定是否查找成功,不成功当前查找区间将缩小一半,递归查找即可。时间复杂度为:O(log2n)。
去年今日运营文章
- 2022: 运营人必须要懂的9大运营模型,面试、沙龙、写工作总结都用得到(0)
- 2022: 2022抖音年轻人观察报告(0)
- 2022: 职场:解决问题七步法(0)
- 2022: 斜杠青年副业月入过万,别搞笑了(0)
- 2021: 小红书怎么推广?3大关键赋能产品价值,助力品牌增长!(0)