首页
题库
面试
求职
学习
竞赛
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)
邀请回答
收藏(356)
分享
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条回答
356收藏
7007浏览
热门推荐
相关试题
有三个关系R,S和T如下图所示,则...
数据库
SQL+MySQL
测试
后端开发
客户端开发
前端开发
人工智能/算法
数据
运维/技术支持
评论
(12)
有三个关系,R,S和T如下图所示,...
数据库
SQL+MySQL
测试
后端开发
客户端开发
前端开发
人工智能/算法
数据
运维/技术支持
评论
(3)
下列叙述中不正确的一项是:
数据库工程师
搜狐畅游
游戏工程师
2020
公关
商务
人力资源
系统工程师
评论
(6)
下面程序执行输出结果为
360集团
C++
C++工程师
2019
C语言
评论
(28)
来自
360公司-2019校招...
牛牛系统正在运行一段Python语...
操作系统
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题