采用折半查找算法在长度为11有序表中查找一个无素时,查找成功的平均查找长度为
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/11 15:07:49
inta[n];L=0;R=n;intmid;while(Lm)L=mid;elseif(a[mid]
(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
这个不就是数组吗,a[15]#includemain(){inti,num,a[15];for(i=0;i
8510349161219=(4*6+5*4)/(6+4)3.4.9.12.19对应的孩子就是查找不成功的,总共10个,每个的查找程度又不同,3.4.9的是4,12.19的是5
等会就给你发答案5分钟内再问:嗯要的非常感谢!嗯是说排序前原数组中的位置哈谢谢再答:#include<stdio.h>main(){int i,j,n,a[15],t,l=0,h
#include#includeintmain(void){intary[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};intnum=16;intpos;intl
%15个数字的折半查找程序%假设了15个数字为:695454333234222123908977675534743clc;clear;A=[695454333234222123908977675534
#includeintmain(){inta[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};intbegin,end,midlle,x;printf("%d",a
等概率下,折半查找的平均查找长度公式为:ASL={[(n+1)/n]*log2^(n+1)}-1
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,肯定就找
第一个算填空?else就是没找到情况了啊随便写什么比如说"cannotfindthisnumber""nosuchnumber""无此数"第二个算什么?程序没什么问题,输出上可以修改一下printf(
1次.一共8个数(0-7)第一次比较3位置处((0+7)/2)的数,发现相等后,直接返回,所以比较一次.
就是一半,即是n/2
你数一下最后的叶子结点应该有而没有的孩子是几个
用快速排序嘛voidsortQ(int*p,intb,inte){\x05if(b\x05{\x05\x05intm=b;\x05\x05std::cout再问:这个方法我们还没学到才能不能用一些简单
我不知道该怎么用文字表达说明这个题目的做法,以下是个笨办法,你看看我们假设对长度为12的有序表为(a1,a2,...a12)(其中ai
log(n),以2为底.再问:查找不成功的平均查找长度呢?