一、二分查找算法
①简单定义:在一个单调有序的集合中查找元素,每次将集合分为左右两部分,判断解在哪个部分中并调整集合上下界,重复直到找到目标元素。
②时间复杂度:O (logn),优于直接顺序查找O(n)
③基本思想:二分查找的基本思想是将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止;如果x<a[n/2],则只要在数组a的左半部分继续搜索x,如果x>a[n/2],则只要在数组a的右半部搜索x。
二、查找连续函数的写法
//x:待查找的值,Caculate():所要查找的函数,在这里单调递增
//需保证查找的值在区间范围内
double low=“区间下界”,high=“区间上界”,mid;
while(high - low > 1.0e-6)
{
mid = (high + low)/2;
if(Caculate(mid)<x)
low=mid;
else
high=mid;
}
暂且只有这样,等我再研究研究…