链地址法中装填因子的求解(附带王道数据结构课后习题)

本文介绍了链地址法在解决散列冲突中的应用,详细阐述了装填因子的定义,即散列表中每个链表的平均长度与总记录数的比例。通过一个实例展示了如何根据装填因子和给定的关键字集合构造散列函数和散列表。在解答中,确定了散列函数为H(key)=key%15,并给出了相应的散列表结构。
摘要由CSDN通过智能技术生成

1、链地址法中装填因子的定义

链地址法,又称分离链接法,是用于从处理散列函数构造冲突的一种办法。设散列函数得到的散列地址域在区间[0M-1] ,关键字记录总数为N,则把链地址表中每个链表的平均长度定义为装填因子α,即α=N/M。

NOTICE!!:先要知道散列地址的范围,才能使用链地址法。

[参考]:《数据结构》(第2版),陈越、何钦铭、徐镜春、魏宝刚、杨枨 编著,高等教育出版社,2016年6月

2、相关例题

此题来源于2022王道数据结构一书

已知一组关键字为(26,36,41,38,44,15,68,12,6,51,25),用链地址法解决冲突。假设装填因子a=0.75,散列函数的形式为H(key)=key% P,回答下列问题:
(1)构造出散列函数,画出散列表。

解答:关键字总数为11,由装填因子α的定义,可知11/p=0.75 ,解得P=15(向上取整)。因此散列地址的范围为【0,14】。因此散列函数为
H(key)=key% 15
相应散列表为:
在这里插入图片描述
王道的课后习题解答与上述解答明显不同,王道书上的解法本人也没有看懂+_+。上述解答如有错误,欢迎评论区留言讨论。

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值