问题 问答题

已知有一组长度为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插入到相应的散列地址中即可。则相应的散列袁为:

填空题
单项选择题