发布网友 发布时间: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