小编jav*_*bie的帖子

使用<vs. using <=进行二进制搜索

在二进制搜索中,我们通常有低变量和高变量,通常有一个while循环测试低<=高,如此代码(来自维基百科)所示:

int SortedArray[max] = {....}

int BinarySearch (int key)
{
    int start = 0;
    int end = max - 1;
    int mid;
    while (start <= end)
    {
        mid = (start + end) / 2;
        if (key == a[mid])
            return mid;
        else if (key < a[mid])
            end = mid - 1;
        else start = mid + 1;
    }
    return -1;
}
Run Code Online (Sandbox Code Playgroud)

在学习二进制搜索时,我总是被教导低<=高的方法,但是当看到其他实现时,我看到很多人都在做(低<高).

一个对另一个有优势吗?在我自己的原生实现中,我执行<=方法,但是当我将其切换为<时,搜索失败.

使用一个与另一个有经验法则吗?

java algorithm binary-search

0
推荐指数
2
解决办法
349
查看次数

标签 统计

algorithm ×1

binary-search ×1

java ×1