这几天看了一下二分法,也做了两个题目,感觉二分法中比较难以把握的就是一个边界问题,有的时候很可能因为考虑不好到底是取上确界还是下确界的问题,就会WA。
先看二分法的标准形式吧
int bisearch(int x, int v[], int n)
{
int low = 0, high = n - 1, mid;
while(low <= high)
{
mid = (low + high) / 2;
if(x < v[mid])
high = mid - 1;
else if(x > v[mid])
low = mid + 1;
else
return mid;
}
return -1;
}
这是 二分法的最标准的形式,二分法其实就是二分查找,一些排序算法以及在一个区间
内求解的时候,查找可能很慢&#