首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
设哈希表长为8,哈希函数为Hash (key)=key%7。
[单选题]
设哈希表长为8,哈希函数为Hash (key)=key%7。初始记录关键字序列为(32,24,15,27,20,13),用链地址法作为解决冲突方法的平均查找长度是()
1.4
1.5
1.6
1.7
查看正确选项
添加笔记
求解答(10)
邀请回答
收藏(302)
分享
2个回答
添加回答
33
梅梅201803241656278
链地址法作为解决冲突方法:冲突以后变成链表,查询次数增加
32%7=4(查一次)
24%7=3(查一次)
15%7=1(
查
一次)
27%7=6(
查
一次)
20%7=6(
查
两次)
13%7=6
(
查
三次)
ASL=(1*4+2*1+3*1)/6=1.5
发表于 2018-12-29 17:21:03
回复(5)
13
白起丶
哈希表长度为8,故存储的位置分别是0、1、2、3、4、5、6、7.
根据哈希函数,可以得到关键字序列(32,24,15,27,20,13)存储的位置分别为:4、3、1、6、6、6.
解决冲突的方式是链地址法,故20和13存储在27的下边,三者构成一个链表结构,第一个元素为27,最后一个元素为13.
哈希表中查找一个元素的复杂度为O(1),故32、24、15、27分别查找一次即可找到,而20和13在链表结构中,需要从27开始往下遍历,分别需要额外的一次和两次才能找到,即20需要两次,13需要三次。
故最终的平均查找长度为总查询次数 / 关键字个数=(1+1+1+1+2+3)/ 6 = 1.5
编辑于 2020-07-12 11:33:37
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
前端开发
iOS工程师
人工智能/算法
数据
运维工程师
运维/技术支持
前端工程师
算法工程师
测试
后端开发
客户端开发
测试工程师
哈希
系统工程师
测试开发工程师
2019
360集团
Java工程师
来自:
360公司-2019校...
上传者:
小小
难度:
2条回答
302收藏
6498浏览
热门推荐
相关试题
五对夫妇甲,乙,丙,丁,戊举行家庭...
360集团
智力题
评论
(22)
来自
360公司2014校招笔试卷
有三个关系,R,S和T如下图所示,...
数据库
SQL+MySQL
测试
后端开发
客户端开发
前端开发
人工智能/算法
数据
运维/技术支持
评论
(3)
分糖果的游戏规则如下:先给甲方2块...
项目
银行
财务审计类
法务类
人力资源类
行政管理类
数据
市场/营销类
销售/商务类
管理培训生
评论
(1)
来自
美团2023年秋招第一场...
有向图 G 中有 n 个顶点,e ...
360集团
图
Java工程师
C++工程师
iOS工程师
运维工程师
前端工程师
算法工程师
测试工程师
2019
系统工程师
测试开发工程师
评论
(3)
来自
360公司-2019校招...
市场与销售的区别在哪里?
市场营销
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题