举例说明哈希表

已知一组关键字序列为(25,51,8,22,26,67,11,16,54,41),其散列地址空间为[0,…,12],若Hash函数定义为:H(key) = key MOD 13,采用线性探测法处理冲突,请画出它们对应的哈希表

最佳答案:

由除余法的散列函数计算出的上述关键字序列的散列地址(12, 12, 8, 9, 0, 2, 11, 3, 2,2)。

先插入25,T[12]的位置,51也是12,所以再探测(12+1)mod 13 =0, 插入T[0] 的位置,8插入T[8]的位置,22插入T[9]的位置。26插入T[0]的位置发现被占,探测(0+1) mod 13 =1,插入T[1]的位置。67插入T[2]的位置。11插入T[11]的位置,16插入T[3]的位置,54插入T[2]的位置发现被占,探测(2+1)mod13=3,T[3]发现被占,再探测(2+2)mod13=4,插入T[4]的位置。41插入T[2]的位置,发现被占,探测(2+1)mod13=3,发现T[3]被占,探测(3+1)=4,发现T[4]被占,探测(4+1)mod13=5,插入T[5]的位置。

 所以哈希表如下图:

地址空间      序列
    0                51
    1                26
    2                67
    3                16
    4                54
    5                41
    6                
    7
    8                 8
    9                22
    10
    11              11
    12              25

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值