平均查找长度 订阅
为确定记录在查找表中的位置,需和给定值进行比较的关键字个数的期望值称为查找算法在查找成功时的平均查找长度(),ASL成功。 展开全文
为确定记录在查找表中的位置,需和给定值进行比较的关键字个数的期望值称为查找算法在查找成功时的平均查找长度(),ASL成功。
信息
外文名
Average Search Length
简    称
ASL
其    他
不详
中文名
平均查找长度
工资工资定义
为确定记录在查找表中的位置,需和给定值进行比较的关键字个数的期望值称为查找算法在查找成功时的平均查找长度(),ASL成功。对于含有n个数据元素的查找表,查找成功的平均查找长度为:ASL=∑PiCi (i=1,2,3,…,n),可以简单以数学上的期望来这么理解。其中:Pi 为查找表中第i个数据元素的概率,Ci为找到第i个数据元素时已经比较过的次数。在查找表中查找不到待查元素,但是找到待查元素应该在表中存在的位置的平均查找次数称为查找不成功时的平均查找长度,不成功。
收起全文
精华内容
下载资源
问答
  • (1) 输出n=11时的判定树并求成功情况下的平均查找长度ASl (2) 通过构造判定树可以求得的成功情况下的平均查找长度ASL1;当把含有n个节点的判定树看成是一棵满二叉树时,其成功情况下平均查找长度的人理论值ASL2...
  • 给出了常用查找算法平均查找长度的计算方法,包括查找成功和查找失败平均查找长度的计算,并通过实例进行了解析,便于学习者学习和掌握查找算法,同时为应用者选择查找算法提供依据。
  • 平均二叉树,计算平均查找长度 二叉树的删除
  • 针对你所在班集体中的“人名”,设计一个哈希表,使得平均查找长度不超过R,完成相应的建表和查找过程。 设计要求: 1.每个人的信息至少包括姓名,电话,地址。至少包括对通讯录的创建,添加和按姓名查找等功能。 ...
  • 散列表查找失败平均查找长度

    千次阅读 多人点赞 2020-11-01 21:04:40
    要想知道 散列表查找失败的平均查找长度,就要知道什么叫做查找失败!举个栗子:8个数字 key%11 如下算好了: 散列地址 0 1 2 3 4 5 6 7 8 9 10 关键字 33 1 13 12...

    如果你看了很多其他博客然后都看不懂看到了这篇,你一定可以容易懂的!我佛了,这么简单的东西死板地讲题目不讲原理鬼看得懂啊,这种风气真的不行,我忍不住想骂一声垃圾,啥玩意儿,误人子弟!原理懂了啥题不会做?

    要想知道 散列表查找失败的平均查找长度,就要知道什么叫做查找失败!举个栗子:8个数字  key%11  如下算好了:

    散列地址012345678910
    关键字331131234382722   
    冲突次数00023017   

    什么叫做查找失败?比如你要查55这个关键字,你必须%11,等于0,查地址0为33,不对,下一位1,不对,继续往下查找直到出现空的才知道这个关键字一定不存在,否则就放在空着的那个地址。所以以上表,计算地址为0的关键字查了9次才才知道没有这个关键字称为查找失败;计算地址为1的关键字只有探测完1-8号才能确定该元素不存在,以此类推。但是注意了,如果计算地址为8的或者9的、10的,只需要查找一次就知道该地址为空,失败了。因此查找一次就行。而且要知道如果查找成功是除以关键字个数,但是查找失败是除以你要模的数字本题是11,千万记住了,不是地址个数,不是关键字个数。综上所述,查找失败的平均查找长度为(9+8+7+6+5+4+3+2+1+1+1)/11=47/11。放心错不了,书上原题。

    还要注意,如下题型H(key)=key%7:

    散列地址012345678
    关键字982230871140620 

    千万注意,%7只能映射到0-6,散列函数不可能映射7,因此查找失败平均查找长度为(9+8+7+6+5+4+3)/7=6。看到这你可能想骂娘,啥玩意儿,别急。我会让你看懂,因为我最讨厌虾鸡吧写博客的傻逼玩意儿,写的不清楚又不解释,还误人子弟,low咖!!!好了回归正题。首先要知道,我们求平均查找长度其实在求概率,对于成功的平均查找长度,查找每个元素的概率是1/8,这个8就是关键字个数。就是说,查找成功你只能选择8个中的一个,否则成功不了,所以都是在等概率1/8情况下。查找失败也是一样,这里对每个位置的查找概率都是1/7,注意7是你要模的数字,就是说,你随便拿几个数,模7,只能是0、1、2、3、4、5、6,其中一种情况,不可能是7、8以后的数字,所以只需要计算地址在0-6中的概率。如果计算地址后为0,那么需要比较9次,以此类推,所以只能是上面的计算式子,别搞错了噢!还有要注意有些散列表不是完全填满,中间有空位,那相信你看完上面原理就不用我解释了,找到了空位还没有就说明不存在嘛,否则它就占位这个空位了。注意以上所讨论的全部是线性探测,如果是平方探测注意左右跳动,具体问题具体分析,就不展开了。相信你看到这个已经真正明白了什么叫做查找失败平均查找长度。对于垃圾博客需要狠狠骂,对于我也是,我写的烂的大家给我狠狠骂,这样才能少一些误人子弟的渣渣了,只讲怎么怎么操作不讲原理有什么狗屁用,换个方式描述不还是不会。知其然要知其所以然!!!以上如果有错误,还请大家狠狠指出来,谢谢大家!

    比如这篇博客,真佛了,一来就巴拉巴拉在那算算算,好像谁不会计算散列表似的,人家真正不懂的是查找失败的平均查找长度的计算,真正的标题党。垃圾文章!!!

     

     

     

     

     

     

    展开全文
  • 平均查找长度

    千次阅读 2019-09-08 12:21:28
    不要记那个近似公式 参考链接开放定址法和拉链法的平均查找长度

    不要记那个近似公式
    参考链接开放定址法和拉链法的平均查找长度

    展开全文
  • 1)设计几个不同的哈希函数,比较他们的地址冲突率(可以用更大的名字集合做实验)。...(3)在哈希函数确定的前提下尝试各种不同处理冲突的方法,考察平均查找长度的变化和造好的哈希表中关键字的聚集性。
  • 散列表成功的平均查找长度和查找失败的平均长度: 关于成功的平均查找长度:查找成功的key在于散列表中一定会有关键值,可以直接通过一次散列函数找到的则是一次查找,否则根据线性散列探测去计算 关于失败的平均...

    散列表成功的平均查找长度和查找失败的平均长度:
    关于成功的平均查找长度:查找成功的key在于散列表中一定会有关键值,可以直接通过一次散列函数找到的则是一次查找,否则根据线性散列探测去计算
    关于失败的平均查找长度:
    ①失败是由于散列表中没有对应的数值,比如散列函数是 H[key]= key%7,我们要查找 8 这个数字的位置,如果散列表中存在这个数值 8,那么不管查找多少次,有多少次冲突都会找到,而计算失败的次数就是从“假定存在的位置一直查找到第一个空的位置”,如查找8则是从1的位置开始找,找到第一个空的位置
    ②关于除数的数值:知道了总的失败次数,mod7的话只有六种情况,也就是0-6,所以只需要计算0-6分别到第一个空的位置,求和后除以7(也就是可以取到的余数的情况)

    展开全文
  • 顺序查找 折半查找的平均查找长度分析 ASL:平均查找长度 其中n为查找表中元素个数,Pi为查找第i个元素的概率,通常假设每个元素查找概率相同,Pi=1/n,Ci是找到第i个元素的比较次数。 ASL=∑i=1npici ASL=\sum_{i=1...

    顺序查找 折半查找的平均查找长度分析

    ASL:平均查找长度

    其中n为查找表中元素个数,Pi为查找第i个元素的概率,通常假设每个元素查找概率相同,Pi=1/n,Ci是找到第i个元素的比较次数。
    A S L = ∑ i = 1 n p i c i ASL=\sum_{i=1}^{n} p_ic_i ASL=i=1npici

    一般顺序查找的平均查找长度:

    • 因为顺序查找就是顺序存储 一个一个比较,所以如果查找成功的话说明就和之前不相等的元素已经比较过了。
    • 所以第 n 个元素就是比较了 n 次
    • 每个元素都比较了其所在位序的次数
    • 每个元素被查找的概率都是1/n 所以

    A S L 成 功 = 1 n ( 1 + 2 + 3 + … + n ) = n + 1 2 ASL_{成功}=\frac{1}{n}(1+2+3+…+n)=\frac{n+1}{2} ASL=n1(1+2+3++n)=2n+1

    $ASL_{成功}=n+1 $

    有序顺序表的平均查找长度:

    • 查找成功的 ASL 不影响

    • 如果查找不成功的话,因为顺序表有序,所以可以提前结束,从而缩短查找失败的比较次数,需要画个简单【判定树】

    • 举个例子,在[10 20 30 40 50 60]中查找

    image-20210924175755222
    • 失败的一共有 n+1个结点,所以每个结点的概率就是 1 n + 1 \frac{1}{n+1} n+11
    • 比较次数是 每个失败结点上一层的层数

    A S L 失 败 = 1 n + 1 [ 1 + 2 + 3 + … + n + n ] = n 2 + n n + 1 ASL_{失败} = \frac{1}{n+1}[1+2+3+…+n+n]=\frac{n}{2}+\frac{n}{n+1} ASL=n+11[1+2+3++n+n]=2n+n+1n

    折半查找的平均查找长度:

    • 要涉及到判定树:n 个元素就有n 个【内部结点】 n+1个【外部结点】

    • 【判定树】一定是【满二叉树】

    • 根据折半算法画出初级判定树(只有内部结点),其他空位用【查找失败的方框代替】

    • 算 ASL 直接就是算 [每层结点的个数*层数]➗结点个数

    image-20210924180742717

    • 不成功要具体例子具体计算。
    展开全文
  • 【哈尔滨工业大学2005 四、1(8分)】画出对长度为18的有序的顺序表进行折半查找时的判定树,并指出在等概率时查找成功的平均查找长度,以及查找失败时所需的最多的关键字比较次数。 判定树如下: 图1-1判定树 ...
  • 散列表平均查找长度 什么是链表? (What is a Linked List?) A linked list is a linear data structure used for storing collections of data 链表是一种线性数据结构,用于存储数据集合 Successive elements are ...
  • 对于查找成功时的平均查找长度,书上有明确的定义: 而题目设定条件都是在等概率下查找,所以ASL=(C0+C1+...+Cn)*1/n. 这就说明了查找成功是针对关键字查找的,最后除以关键字的总个数。 我们来看一道书上的例题...
  • 散列表查找失败时的平均查找长度

    千次阅读 2021-01-14 20:54:40
    在利用线性探测再散列法处理冲突的散列表中,很多人对计算失败时的平均查找长度,作除数应该是散列表长,还是散列函数:mod后面的数不清楚,首先接下来我们先解决这一问题. 问题一:其除以的数是mod后面的数还是散列表长? ...
  • 以学生班级 姓名作为信息,进行平均查找长度的演示 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #define STUDENTS_SUM 30 //学生总数 #define HASH_TABLE_...
  • 散列表失败平均查找长度 已知数据长度为L,散列表长度为M,存储公式为H(k)=k%P k:关键字 P:小于表长M的最大质数 使用线性探测法解决冲突:H[i]=( H(k) + d[i] ) % M i:对于关键字k的第i次冲突的解决 线性探测...
  • 二分查找的平均查找长度

    千次阅读 2020-12-19 09:44:02
    二分查找的平均查找长度 对二分查找的平均查找长度进行简单分析。 向作出假设:要查找的元素在数组内,数组长度为 nnn. 约定对长度为 nnn 的数组,平均查找长度为随机变量 CnC_nCn​,随机变量 InI_nIn​ 定义如下 ...
  • 计算查找成功时和失败时的 平均查找长度
  • 也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。映射函数叫做散列函数,存放记录的数组叫做散列表。 装填因子         关键字个数 / 表长 处理冲突    ...
  • 哈希表查找——成功和不成功时的平均查找长度

    万次阅读 多人点赞 2018-08-12 10:27:22
    哈希表查找——成功和不成功时的平均查找长度   以下求解过程是按照“计算机统考的计算方法”,不同的老师、教材在“处理冲突”上可能会有不同的方法,所以最主要的是掌握原理即可,对于考研的朋友最好掌握统考...
  • 二叉排序树的平均查找长度(成功&&不成功)

    千次阅读 多人点赞 2020-08-03 12:46:56
    二叉排序树的平均查找长度 上图所示为二叉排序树 查找成功时的平均查找长度: ASL=∑(本层高度*本层元素结点个数)/结点总数 =(1 * 1 +2 * 2+3 * 2)=11/5 查找失败时的平均查找长度: ASL=∑(本层高度*本层补上的...
  • 【hash表】hash表平均查找长度(ASL)

    千次阅读 2019-08-28 14:00:41
      hash 表在处理 collision 的时候有...  本文记录使用开链法的情况下,Hash 表查找成功和查找不成功的平均查找长度(ASL - ),其他方法同理。   首先开链法是指,每一个表格元素维护一个list,hash function...
  • 关于查找失败的平均查找长度

    千次阅读 2020-12-15 21:21:00
    王道上这样解释的↓
  • 折半查找平均查找长度

    千次阅读 2019-12-23 18:15:08
    建完全二叉树 例如长度为12的有序线性表,构建完全二叉树,如下图: 平均查找长度为:3.1
  • 以前在网上找了好久关于平衡二叉树的东西,希望这个对大家有用
  • 查找不成功的平均查找次数为: ASL = (1+2+3+4+5+6+7+8+9+10+11+12)/ 13 = 91/13 (2)链地址法 查找成功时的平均查找长度: ASL = (16+24+31+41)/12 = 7/4 查找不成功时的平均查找长度: ASL = (4+2+2+1+2+1)/13...
  • 最近复习数据结构中的哈希表,发现在计算等概率情况下查找不成功的平均查找长度时不太理解,不知道到底是怎么计算出来的。看了几篇博客后终于知道如何计算了,总结如下。 例题: 将关键字序列(7、8、30、11、...
  • Hash表的平均查找长度包括查找成功时的平均查找长度和查找失败时的平均查找长度。  查找成功时的平均查找长度=表中每个元素查找成功时的比较次数之和/表中元素个数; 查找不成功时的平均查找长度相当于在表中查找...
  • 自动计算求出在等概率的情况下查找成功与不成功的平均查找长度。 代码 # include # include "string.h" # define max 9 # define len 13 //定义哈希结构体,ch代表存储的字符串,num代表存储的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 97,150
精华内容 38,860
关键字:

平均查找长度