已知有一组长度为9的关键字序列为{22,63,72,54,97,17,37,80,92},现在假设散列表的地址空间为T[0..10],请用除余法构造散列函数,如果存在冲突问题,请用线性探查法解决冲突,并给出相应的散列表。

admin2010-04-24  42

问题 已知有一组长度为9的关键字序列为{22,63,72,54,97,17,37,80,92},现在假设散列表的地址空间为T[0..10],请用除余法构造散列函数,如果存在冲突问题,请用线性探查法解决冲突,并给出相应的散列表。

选项

答案因为散列函数为:h(key)=key%11,则根据此函数得到上述关键字序列的散列地址为:(0,8,6,10,9,6,1,3,4),前5个关键字在插入时,其相应的地址是开放地址,可以直接插入到T[0],T[8],T[6],T[10],T[9]中,在插入到6个关键字时,其散列地址6已被关键字72占用,所以探查h1=(6+1)%11=7。此地址开放,所以将关键字17插入到T[7]中,然后再依次将关键字34,80,92插入到相应的散列地址中即可。则相应的散列袁为: [*]

解析
转载请注明原文地址:https://jikaoti.com/ti/RotaFFFM
本试题收录于: 数据结构题库理工类分类
0

相关试题推荐
最新回复(0)