二分法查找
树图思维导图提供 二分法查找 在线思维导图免费制作,点击“编辑”按钮,可对 二分法查找 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:97899d0f520dda5adc3bf1f11af9952a
二分法查找思维导图模板大纲
找大于等于x最靠左的数
mid有可能是解
mid=5 a[mid]=40
mid=3 almid]=20
mid=2 a[mid]=20
mid=1 a[mid]=16
x=20
while(l<r){ if(a[mid]>=x){ r=mid; } else{ l=mid+1; } }
找小于等于x最靠右的数
a[mid]=40
a[mid]=20
a[mid]=20
X=20
while(l<r){ int mid=(l+r+1)/2; if(a[mid]>x){ r=mid-1; } else{ l=mid; } }
while(l<=r){ if(a[mid]==x){ return 1; } if(a[mid]> x){ r=mid-1 } else{ l=mid+1; } }
已知f(1.5)>0,f(2.4)<0, 如果用二分法求解,left=1.5,right=2.4,则可以判断f(mid),如果f(mid)>0,则根一定在[mid,2.4]之间,如果f(mid)<0,在根一定在[left, mid]之间,如果f(mid)=0,则根就是mid。
1、读入所有数据,保存到数组 a 中。 2、遍历查找数据 x。如果 x<=a[0],自然返回 a[0];如果 x>=a[n-1],自然返回 a[n-1];否则获取 x 的右上界 pos,比对 a[pos] 和 a[pos-1],输出合适的数据。
分支主题 4
枚举法。分析一下,根的范围在-100到100之间,以根为枚举对象,枚举范围是-100到100,因为结果要保留两位小数,故此,步长为0.001。 将枚举的根,代入原方程,利用误差法,对原方程式进行一一验证,找出方程的解。
分治法。二分法要求将方程改写成f(x)=0的形式,然后y=f(x)。先选取x1和x2两点,使f(x1)和f(x2)异号。由于y=f(x)是连续不断的曲线,故在x1和x2之间至少有一个根存在。先将可变区间[x1,x2]两等分,求出其中点,即x3=(x1+x2)/2,然后求出函数在中点处的值f(x3)。若f(x3)与f(x1)同号,则新的可变区间就是[x3,x2];如果异号,则新的可变区间是[x1,x3];如果f(x3)=0,则求解完毕。如此重复叠代下去,直至可变区间之长度小于某个预先给定的值为止,或者达到f(x) = 0。