二分法查找的问题,用二分法查找一个已知顺序的数列中的一个数最坏的情况下需要查找多少次?

2021-02-17 08:18:00 字数 828 阅读 4741

1楼:匿名用户

一点不矛盾:

bai第一个:找的顺序是du15 8 10 12

第二个:找

zhi的顺序是50 90

二分法查

dao询的时候,版索引是从0开始计权算的。这点你要清楚就可以很快明白了/

比如第一个例子,beginindex = 0, endindex = 列表的长度-1,也就是等于10

midindex = (beginindex + endindex )/2,也就是5。

15 〉12 ,这时候beginindex 不变,而endindex 应该等于midindex -1了,也就是4,那么下一个我们要验证索引是2的数据了。如此类推

不知是否明白?

用二分法查找一个已知顺序的数列中的一个数最坏的情况下需要查找多少次?

2楼:匿名用户

最坏情况下的查找次数是(log2(n+1))的取整。最坏情况下查找到最后单个元素才查找结束,因为每次查找取半,所以需要查找(log2(n+1))的整数次。

二分法查找最坏情况下需要比较次数,为什么n次和o(log(2)n)都对呢?后者是什么意思

3楼:匿名用户

后者是算法复杂度的意思

n次是正确的吗?应该是log(2)n次才对啊

4楼:匿名用户

用二分法查找最多log2^n

用顺序查找最多是n次

5楼:野马皇上

顺序查找需要比较n次,二分法查找需要比较logn次