首页
题库
面试
求职
学习
竞赛
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)
邀请回答
收藏(353)
分享
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)
17
白起丶
哈希表长度为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条回答
353收藏
6835浏览
热门推荐
相关试题
有三个关系R,S和T如下图所示,则...
数据库
SQL+MySQL
测试
后端开发
客户端开发
前端开发
人工智能/算法
数据
运维/技术支持
评论
(12)
某初中组织春游,大家排成一排每分钟...
项目
银行
财务审计类
法务类
人力资源类
行政管理类
数据
市场/营销类
销售/商务类
管理培训生
评论
(2)
来自
2023年美团秋招综合能...
拆礼盒
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
安全工程师
c#工程师
数据库工程师
大数据开发工程师
vivo
2020
嵌入式工程师
数据挖掘工程师
测试开发工程师
评论
(24)
有以下程序
360集团
C++
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
算法工程师
测试工程师
2019
系统工程师
测试开发工程师
评论
(27)
来自
360公司-2019校招...
中日兵乓球联赛男子双打比赛,中方C...
360集团
操作系统
Java工程师
C++工程师
iOS工程师
运维工程师
算法工程师
测试工程师
2019
系统工程师
评论
(4)
来自
360公司-2019校招...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题