200个数折半查找,求最大比较次数

发布网友 发布时间:2022-04-23 22:48

我来回答

5个回答

热心网友 时间:2023-10-02 16:52

最大比较次数是8次。

对于n个数折半查找,最大比较次数是log(n+1)取上整。log表示以2为底的对数。

200个数,最大比较次数是8次。

扩展资料

对数的运算法则:

1、log(a) (M·N)=log(a) M+log(a) N

2、log(a) (M÷N)=log(a) M-log(a) N

3、log(a) M^n=nlog(a) M

4、log(a)b*log(b)a=1

5、log(a) b=log (c) b÷log (c) a

指数的运算法则:

1、[a^m]×[a^n]=a^(m+n) 【同底数幂相乘,底数不变,指数相加】

2、[a^m]÷[a^n]=a^(m-n) 【同底数幂相除,底数不变,指数相减】

3、[a^m]^n=a^(mn) 【幂的乘方,底数不变,指数相乘】 

4、[ab]^m=(a^m)×(a^m) 【积的乘方,等于各个因式分别乘方,再把所得的幂相乘】

热心网友 时间:2023-10-02 16:52

最大比较次数是8次。

对于n个数折半查找,最大比较次数是log(n+1)取上整。log表示以2为底的对数。

200个数,最大比较次数是8次。

扩展资料:

对数算法:

1、Log (a) (M·N) = Log (a) M+ Log (a) N。

2、Log (a) (M÷N)= Log (a) m-log (a) N。

3、log(a) M^n=nlog(a) M。

4、log (a) b * log (b) a = 1。

5、Log (A) B = Log (C) B ÷log (C) A。

指数算法:

1、[^ m]×[^ n] = ^ (m + n)。

2、(^ m)÷[^ n] = ^ (mn)。

3、(m ^) ^ n = ^ (mn)。

4、(ab) ^ m =(^)×(^)^ (ab) m =(^)×(^)。

热心网友 时间:2023-10-02 16:53

对于n个数折半查找,最大比较次数是log(n+1)取上整。log表示以2为底的对数。
200个数,最大比较次数是8次

热心网友 时间:2023-10-02 16:53

int Select(int* a,int len,int num) //num为我们要查找的数,len为数组长度,a为数组名
{
int L = 0; //设置最左右2点
int R = len-1;
int cont=0;
while(1)//没找到无线循环
{
cont++; //cont为查找的次数,如果为-1 则是没有这个数字
int m = (L+R)/2 ;
if(L>R)
return -1; //没有这个数,返回错误
if(num == a[m])
return cont; //返回找了几次
else if(num>a[m])
L = m+1; //把左边的坐标向右移动
else
R = m-1; //把右边的坐标向左移动
}
}

热心网友 时间:2023-10-02 16:54

log的2为底的对数向下取整再加1,结果为8

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com