永发信息网

设闭散列表容量为12(散列地址空间0..11),给定表(30,36,47,52,34,55,99,102),散列函数H(k)=

答案:1  悬赏:70  手机版
解决时间 2021-01-24 19:33
  • 提问者网友:城市野鹿
  • 2021-01-24 07:52
设闭散列表容量为12(散列地址空间0..11),给定表(30,36,47,52,34,55,99,102),散列函数H(k)=
最佳答案
  • 五星知识达人网友:英雄的欲望
  • 2021-01-24 08:48
进行哈希计算得到哈希地址,再将其存储到指定地址。如果该地址已有元素,称之为存在“冲突”,再采用冲突检测法处理冲突,如线性探测再散列法。
如元素的值为95时,采用哈希函数h(k)=k mod 11时,得到的哈希地址为7,即h(95) = 95 % 11 = 7。
针对本题:
(1)构造哈希表,有11个地址空间(0~10);
(2)计算各个元素的哈希地址,若没有冲突,则直接存储到相应地址的哈希表中:
h(95) = 95 % 11 = 7 没有冲突
h(14) = 14 % 11 = 3 没有冲突
h(27) = 27 % 11 = 5 没有冲突
h(68) = 68 % 11 = 2 没有冲突
h(82) = 82 % 11 = 5 有冲突(因为地址5已经被值为27的元素占用了)
(3)对于有冲突的元素,发生冲突后必须马上处理(采用线性探查法),不能到最后一起处理:
h(82) = (5 + 1) % 11 = 6 没有冲突
(4)最后哈希表0~10的11个地址空间依次存储的元素为:
0 1 2 3 4 5 6 7 8 9 10
N N 68 14 N 27 82 95 N N N
其中N表示此处为空。
另外,虚机团上产品团购,超级便宜
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯