二分和三分的基础概况及核心代码

1. 二分法就是一个有序的数列的最简单快速的查找,即一次二分,取中间数,是猜大了,还是小了,变化区间上界或者下界,重复,知道查找到所需的数字;

2. 三分是二分的变形;

一个三分的核心代码:

double cmid,cmidmid;
while(low+eps<high)
{
    mid=(low+high)/2;
    midmid=(mid+high)/2;
    cmid=huhu(mid);
    cmidmid=huhu(midmid);
    if(cmid<cmidmid)
    low=mid;
    else high=midmid;
}
double huhu(double x)
{
    return 题目中的函数表达式;
}

一个二分的核心代码:

double huhu(double x)
{
  return  题目的函数表达式;
}
r=0;l=100;
cin>>n;
mid=r+l;
while(huhu(mid)-n<eps)
{
  if(huhu(mid)>n)
  l=mid-1;
  else r=mid+1;
  mid=(l+r)/2;
}
cout<<mid<<endl;

猜你喜欢

转载自blog.csdn.net/weixin_40907938/article/details/81538615