前提是被查数据必须有序(升序或降序)。
算法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是排好序的。
基本思想:假设数据是按升序排序的,对于给定值key,从序列的中间位置k开始比较,如果当前位置arr[k]值等于key,则查找成功;若key小于当前位置值arr[k],则在数列的前半段中查找,arr[low,mid-1];
若key大于当前位置值arr[k],则在数列的后半段中继续查找arr[mid+1,high],直到找到为止,时间复杂度:O(log(n))。
扩展资料:
给定精确度ξ,用二分法求函数f(x)零点近似值的步骤如下:
1、确定区间[a,b],验证f(a)·f(b)<0,给定精确度ξ。
2、求区间(a,b)的中点c。
3、计算f(c).
(1) 若f(c)=0,则c就是函数的零点。
(2) 若f(a)·f(c)<0,则令b=c。
(3) 若f(c)·f(b)<0,则令a=c。
(4) 判断是否达到精确度ξ:即若|a-b|<ξ,则得到零点近似值a(或b),否则重复2-4。
参考资料来源:百度百科-二分法
前提是被查数据必须有序(升序或降序)