有序表折半查找比较次数
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/09 23:03:49
(log以2为底的(n+1))然后再减1好像是这个,把12带进去,log向下取整.
ASLsucc=(1*1+2*2+4*3+3*4)/10=29/10ASLunsucc=(5*3+6*4)/11=39/11
8510349161219=(4*6+5*4)/(6+4)3.4.9.12.19对应的孩子就是查找不成功的,总共10个,每个的查找程度又不同,3.4.9的是4,12.19的是5
等概率下,折半查找的平均查找长度公式为:ASL={[(n+1)/n]*log2^(n+1)}-1
[log(n)]+1[log(n)]是向上取整[log1000]再问:怎么会是11呢再答:好吧,那就是10了,现在想起来了是[log(n+1)]向上取整log(1001)
一点不矛盾:第一个:找的顺序是1581012第二个:找的顺序是5090二分法查询的时候,索引是从0开始计算的.这点你要清楚就可以很快明白了/比如第一个例子,beginIndex=0,endIndex=
11+1除以2=6则15大于126-1+1除以2=3则8小于126+3+1除以2=5则12等于12次数为3次分别检测了15812.这是程序二分法的计算得来的.附二分法程序
37=1*1+2*2+3*4+4*5故其次数为37/12.画个二叉树就可以了再问:能不能解释一下这些数字是什么意思?再答:权最小即可,树的层数是乘号左边的数
intbinary(intA,intitem,intn){intlow,high,mid;low=0;high=n-1;if(A[0]>item)return0;//第一个元素就大于item,肯定就找
1次.一共8个数(0-7)第一次比较3位置处((0+7)/2)的数,发现相等后,直接返回,所以比较一次.
二分法就对已排序列进行的搜索方法,每次与中间一个元素比较第一次55->于是下次比较的序列为607078第二次70->于是下次比较的序列为60第三次查找成功因此需要比较3次满意请采纳^^
你的问题是什么?你不是都回到了用顺序查找法完成么?intseek(inta[10],intkey){inti;for(i=0;i
你数一下最后的叶子结点应该有而没有的孩子是几个
第1步12233445677889100121121121大于67第2步7889100121121121大于89第3步100121121121大于100第4步121121相等结束
进行哈希计算得到哈希地址,再将其存储到指定地址.如果该地址已有元素,称之为存在“冲突”,再采用冲突检测法处理冲突,如线性探测再散列法.如元素的值为95时,采用哈希函数h(k)=kmod11时,得到的哈
你画一个二叉排序树,一比就出来了.去找树的深度.
用快速排序嘛voidsortQ(int*p,intb,inte){\x05if(b\x05{\x05\x05intm=b;\x05\x05std::cout再问:这个方法我们还没学到才能不能用一些简单
我不知道该怎么用文字表达说明这个题目的做法,以下是个笨办法,你看看我们假设对长度为12的有序表为(a1,a2,...a12)(其中ai
log(n),以2为底.再问:查找不成功的平均查找长度呢?