gpt4 book ai didi

algorithm - 这个数组的二分查找需要多少次比较?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:36:53 27 4
gpt4 key购买 nike

我们有以下数组:
[4, 13, 25, 33, 38, 41, 55, 71, 73, 84, 86, 92, 97]
对我来说,似乎只需要 3 次比较就可以找到 25 次,因为:首先我们选择中间元素 55。现在我们进行两次比较:55 = 25? 55 > 25?这些都不成立,所以我们转到数组的左侧。我们得到子数组:[4, 13, 25, 33, 38, 41]我们再除此得到 25 = 25?是的.. 所以需要 3 次比较才能得到我们的比赛。我的书上说需要进行四次比较才能找到 25 个。这是为什么?

最佳答案

由于左边数组的大小是偶数,所以每个算法都可以选择中间的一个数。因此,比较可能类似于以下 4 比较:

[4, 13, 25, 33, 38, 41, 55, 71, 73, 84, 86, 92, 97]
25 < 55 =>‌ [4, 13, 25, 33, 38, 41]
25 < 33 => [4, 13, 25]
25 > 13 => [25]
25 == 25 => Found.

关于algorithm - 这个数组的二分查找需要多少次比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58543900/

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