折半算法平均查找长度
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/18 12:52:48
(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
a[mid]==key
等概率下,折半查找的平均查找长度公式为:ASL={[(n+1)/n]*log2^(n+1)}-1
做这种题目的时候,应该画出二叉树.然后把叶子补足.叶子的高度就是查找失败的次数.然后求和除以叶子数目就是失败的平均查找长度.而非叶子节点就是成功的,高度就是成功的查找次数,然后除以非叶子节点的数目,就
顺序查找:O(n)折半查找:O(log2n)分块查找:大致O(n^0.5)二叉排序树:介于O(log2n)和O(n)之间平衡二叉树:O(log2n)m阶B-树:O(logmn)散列或者音译哈希平均查找
(1).首先明确一个概念装载因子,装载因子是指所有关键子填充哈希表后饱和的程度,它等于关键字总数/哈希表的长度.根据题意,我们可以确定哈希表的长度为L=7/0.7=10;因此此题需要构建的哈希表是下标
intbinary(intA,intitem,intn){intlow,high,mid;low=0;high=n-1;if(A[0]>item)return0;//第一个元素就大于item,肯定就找
我感觉你可能并没有仔细看那个博客上的讲解,实际上你的理解是对的,而博客上也是那样讲的.博客上是这样说的:“求查找不成功时的平均查找长度,一般情况下分母为表长,但精确地讲是表长的有效位个数”(红字部分)
就是一半,即是n/2
你数一下最后的叶子结点应该有而没有的孩子是几个
第1步12233445677889100121121121大于67第2步7889100121121121大于89第3步100121121121大于100第4步121121相等结束
在分布式信息检索中,对于文档集合的索引,以词和以短语为索引单位哪一种可能2、在做检索时,视情况不同,两种方式应该各有优缺点当要查找某一方面或者
log(n)-1,下取整
用快速排序嘛voidsortQ(int*p,intb,inte){\x05if(b\x05{\x05\x05intm=b;\x05\x05std::cout再问:这个方法我们还没学到才能不能用一些简单
我不知道该怎么用文字表达说明这个题目的做法,以下是个笨办法,你看看我们假设对长度为12的有序表为(a1,a2,...a12)(其中ai
log(n),以2为底.再问:查找不成功的平均查找长度呢?