二分和三分的基礎概況及核心代碼

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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章