gpt4 book ai didi

algorithm - 二进制搜索算法混淆

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:33:20 26 4
gpt4 key购买 nike

我一直在阅读我在 Internet 上找到的一些二进制搜索算法,并且在我遇到的所有示例中都注意到了这段代码。

if (query > contents[midIndex])
{
minIndex = midIndex + 1;
}
else if (query < contents[midIndex])
{
maxIndex = midIndex - 1;
}

为什么会这样?我试过这样做:

if (query > contents[midIndex])
{
minIndex = midIndex;
midIndex = (minIndex + maxIndex) / 2;
}
else if (query < contents[midIndex])
{
maxIndex = midIndex;
midIndex = (minIndex + maxIndex) / 2;
}

该代码在我完成的所有测试中都有效,而且速度不是更快吗?如果不是更快,有人可以解释第一段代码的逻辑吗?

最佳答案

好吧,我只能说,第一部分根本不是二进制搜索。 (+ 它甚至似乎没有重新计算 midIndex 变量)

二进制搜索的目的是将搜索“集中”在总范围的“一半”中,直到范围缩小到我们一直在寻找的元素......

关于algorithm - 二进制搜索算法混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9780849/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com