发布网友 发布时间:2024-05-11 10:58
共1个回答
热心网友 时间:2024-07-25 11:40
1、对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫二分法。
2、算法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是排好序的。
3、基本思想:假设数据是按升序排序的,对于给定值key,从序列的中间位置k开始比较,如果当前位置arr[k]值等于key,则查找成功;若key小于当前位置值arr[k],则在数列的前半段中查找,arr[low,mid-1];若key大于当前位置值arr[k],则在数列的后半段中继续查找arr[mid+1,high],直到找到为止,时间复杂度:O(log(n))。