首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
已知有一个关键字序列:(19,14,23,1,68,20,8
[单选题]
已知有一个关键字序列:(19,14,23,1,68,20,84,27,55,11,10,79)散列存储在一个哈希表中,若散列函数为H(key)=key%7,并采用链地址法来解决冲突,则在等概率情况下查找成功的平均查找长度为()。
1.5
1.7
2.0
2.3
添加笔记
邀请回答
收藏(647)
分享
纠错
10个回答
添加回答
57
推荐
牛客-007
答案:A
这些关键字除以7取余后分别得到5,0,2,1,5,6,0,6,6,4,3,2存储结构如下
位置--存储
0-----14-84 //14查找1次,84需要查找2次,以下类似
1-----1
2-----23-79
3-----10
4-----11
5-----19-68
6-----20-27-55
总查找次数为1+2+1+1+2+1+1+1+2+1+2+3=18
总共有12的关键字
平均查找次数为18/12=1.5
编辑于 2015-01-31 10:39:48
回复(7)
7
rppp
主要考察哈希表的链地址存储,分别计算每个数据的查找程度,如下所示:
地址为0:14(1) 84(2)
地址为1:1(1)
2:23(1) 79(2)
3:10(1)
4:11(1)
5:19(1) 68(2)
6:20(1) 27(2) 55(3)
平均查找程度=(1+2+1+1+2+1+1+1+2+1+2+3)/12 = 18/12 = 1.5
发表于 2017-07-24 11:47:12
回复(0)
5
sunlight_run
0
1
2
3
4
5
6
%7
14,84,
1
23,79
10
11
19,68
20,27,55
次数
1+2
1
1+2
1
1
1+2
1+2+3
总查找次数相加为18,所以平均查找长度为18/12=1.5
发表于 2017-06-16 17:03:38
回复(0)
1
牛客651205号
我去,我就说怎么没答案,当成开放地址法做了。。。
发表于 2019-02-18 15:33:08
回复(0)
1
Sc0tt
这12个数取余后依次为:5 0 2 1 5 6 0 6 6 4 3 2
又因为求的是查找成功的ASL,采用链地址法来解决冲突的ASL在成功和不成功的时候分母是不同的;
查找成功时,
分母为哈希表元素个数;
查找不成功时,分母为哈希表长度。
所以查找成功时,ASL为(1*7+2*4+3*1) / 12=18/12=1.5
发表于 2018-05-21 19:34:22
回复(0)
1
我是一只小小小小菜鸟
思路:散列表这块,有两道题型,第一种就是hash函数的构造,采用的是除留取余的方法,还有一种是解决冲突的方法,这道题就是如此,用的是链表的方法。
大概过程就不写了,结果就是1+1+1+1+1+1+2+2+3+1+2+2=18,然后再除以长度12就行了。18/12=1.5
发表于 2016-08-16 16:14:00
回复(0)
1
风声,雨声
查找成功:
总查找次数为1+2+1+1+2+1+1+1+2+1+2+3=18
总共有12的关键字
平均查找次数为18/12=1.5
查找不成功:
0---14->84 查地址0没查到所要查的值,需2次遍历
1--1 查地址1没查到所要查的值,需1次遍历
2--23->79 2
3--10 1
4--11 1
5--19->68 2
6--20->27->5 3
(2+1+2+1+1+2+3)/7=1.7
查找成功和查找不成功的分母不一样,这点要区别开来
发表于 2015-09-06 16:10:09
回复(1)
0
付雨帆
答案:A
这些关键字除以7取余得到地址:5,0,2,1,5,6,0,6,6,4,3,2存储结构如下:
位置----存储
0------14-84 // 14查找1次,84需要查找2次,以下类似
1------1
2------23-79
3------10
4------11
5------19-68
6------20-27-55
查找次数为1+2+1+1+2+1+1+1+2+1+2+3=18
有12个关键字
平均查找次数为18/12=1.5
编辑于 2017-03-11 15:20:23
回复(0)
0
kainever
查找长度 就是找到对应的值要经过几步... 如果没有冲突的话 可以直接到找到 所以长度为1
发表于 2015-08-02 18:49:19
回复(0)
0
飞云
答案B
通过哈希函数转换关键序列为:
0---14->84
1--1
2--23->79
3--10
4--11
5--19->68
6--20->27->55
通过上面可以看到这些关键词可以形成7条链
所以平均查找 12/7=1.7
其实本题主要是看能形成几条哈希链 总数除以哈希链数就是平均查找长度
-------------------------------------------------
上面的之前的答案,
没有考虑到定位到每条哈希链后,还要进行查找
查找次数为1+2+1+1+2+1+1+1+2+1+2+3=18
平均查找次数为:18/12=1.5
编辑于 2015-04-24 13:06:26
回复(3)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
哈希
来自:
4399游戏2015校...
上传者:
小牧魔法袋
难度:
10条回答
647收藏
23053浏览
热门推荐
相关试题
设输入序列为1,2,3,则经过栈的...
栈
评论
(25)
来自
4399游戏2015校园...
设有以下函数void fun(in...
C语言
评论
(22)
来自
4399游戏2015校园...
在32位系统中,下列表达式的值分别是?
C++
评论
(28)
来自
4399游戏2015校园...
一个家庭有两个小孩,其中一个是女孩...
概率统计
评论
(31)
来自
4399游戏2015校园...
无源晶振起振电容容量选择方法
元器件
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
这些关键字除以7取余后分别得到5,0,2,1,5,6,0,6,6,4,3,2存储结构如下
位置--存储
0-----14-84 //14查找1次,84需要查找2次,以下类似
1-----1
2-----23-79
3-----10
4-----11
5-----19-68
6-----20-27-55
总查找次数为1+2+1+1+2+1+1+1+2+1+2+3=18
总共有12的关键字
平均查找次数为18/12=1.5