哈希表查找失败的asl 在哈希表中查找成功和不成功时的平均查找长度如何计算?
在哈希表中查找成功和不成功时的平均查找长度如何计算?
我不知道你说的平均搜索长度是什么意思。一般来说,哈希表会在考试中测试,因为其他的比较简单。
对于具有N个数据元素的查找表,成功查找的平均长度为ASL=∑Pici(I=1,2,3,…),N)。其中:Pi是查找表中第I个数据元素的概率,CI是找到第I个数据元素时进行比较的次数。
众所周知,要散列的线性表是(38、25、74、63、52、48),散列函数是h(k)=kmod7。如果使用线性检测的开放地址方法来处理冲突,则平均查找长度为:
ASL=p1c1,P2C2,p3c3…
ASL=1/N(C1,C2,C3…]…
其中C是每个数字的查询数
根据h(k)=kmod7,
38----1
25----1
74----2
63----1
52----4
48----3
so ASL=1/6(1 1 4 3)=2
哈希表公共溢出区线性探测再散列查找不成功的ASL怎么求?
搜索不成功ASL:定义为搜索不成功时对关键字执行比较的平均次数。因此,对于拉链方法,如果第一次检测到空位置,则搜索失败长度为0。例如,aslunsucc=(10210100103)/13≈10/13≈0.77
ASL查找失败数是从地址到空位置的比较数。5原因1:哈希表中有5个空位置,比较一次。5原因5:哈希表中关联词的位置比较一次,公共溢出区比较3+1。最后除以地址总数
解决方法:(1)首先确定哈希表的长度:根据公式:α=n/m,(n是记录数,m是表长)可以看出,由于α不小于0.75,当记录数为12时,我们可以将表长设为16,并且α为0.75。(2) 根据关键字第一个字母的顺序,我们可以建立一个哈希表。如果第一个字母相同,我们可以添加第二个字母的顺序。以此类推,我们可以知道它可以转换成数字:赵=26;钱=17;孙=19;李=12;周=34;吴=23;张=35;王=24;常=3;朝=11;阳=25;金=10(3)。增量Di设置为Di=I((12K)mod15 1H(key)=(3K)mod20。很容易得到如下哈希表:H(26)=18h(17)=11h(19)=17h(12)=16h(34)=2H(23)=9h(35)=5h(24)=12h(3)=9h1(3)=7h(11)=13h(25)=15h(10)=10平均搜索长度:aslsucc=(1×11 2)/12=13/12
哈希表查找失败的asl 哈希表示意图怎么画 数据结构asl怎么算
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。