首页 > 试题广场 >

设哈希表长m=13,哈希函数H(key)=key MOD&n

[单选题]
设哈希表长m=13,哈希函数H(key)=key MOD 11。表中已有4个节点:addr(16)=5,addr(28)=6,addr(84)=7,addr(19)=8,其余地址为空,如用线性探测再散列处理冲突,则关键字为38的地址为(      )
  • 6
  • 7
  • 8
  • 9
散列后不为空加一,直到找到为空
发表于 2023-09-21 21:39:14 回复(0)

线性探测再散列:

需要搜索或加入一个哈希表项时,使用哈希函数计算哈希值:
图片说明

一旦发生冲突,在表中顺次向后寻找“下一个”空值Hi的公式为:
图片说明

题中key=38,H(38)=38mod11=5但与addr(16)冲突。线性散列H(38)=(5+1)mod11=6但与addr(28)冲突。继续线性散列H(38)=(6+1)mod11=7但与addr(84)冲突。直到H(38)=9mod11=9成功

发表于 2020-01-26 14:41:58 回复(1)
我还是不能理解,38怎么知道的,有没有人救救我?😭
发表于 2022-10-02 23:03:43 回复(5)
38%11=5,用线性探测再散列处理冲突,每次+1再%,(H+i)%d。
5冲突,+1时6冲突,+2时7冲突,+3时8冲突,+4时为9,表中无元素,所以关键字为38的地址为9
发表于 2022-08-04 17:28:38 回复(0)