首页
题库
面试
求职
学习
竞赛
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收藏
6497浏览
热门推荐
相关试题
在金属发展史上,从陨铁的的锻制到人...
数据库工程师
搜狐畅游
游戏策划
游戏工程师
市场
2020
公关
商务
财务
人力资源
项目经理
系统工程师
评论
(1)
下面描述中,符合结构化程序设计风格...
搜狐
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
拆礼盒
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
安全工程师
c#工程师
数据库工程师
大数据开发工程师
vivo
2020
嵌入式工程师
数据挖掘工程师
测试开发工程师
评论
(24)
有以下程序
360集团
C++
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
算法工程师
测试工程师
2019
系统工程师
测试开发工程师
评论
(27)
来自
360公司-2019校招...
下面程序的输出结果是( ...
C++
C++工程师
评论
(12)
来自
360公司-2019校招...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题