平方探测

为了消除一次聚集,我们使用一种新的方法:平方探测法。顾名思义就是冲突函数F(i)是二次函数的探测方法。通常会选择f(i)=i2。和上次一样,把{89,18,49,58,69}插入到一个散列表中,这次用平方探测看看效果,再复习一下探测规则:hi(x)= ( Hash(x) + F(I) ) % TableSize(I=0,1,2…)
在这里插入图片描述
脑内调试一下:49和89冲突时,下一个空闲位置是0号单元。58和18冲突时,i=1也冲突,再试i=2,h2(58)=(8+4)%10=2是空的可以放。69同理。

exp:Given a hash table of size 13 and the hash function h(x)=x%13. Please fill in the hash table with input numbers { 2, 15, 3, 16, 6, 25, 29 }. Assume that quadratic probing is used to solve collisions.

    i	0	1	2	3	4	5	6	7	8	9	10	11	12
H[i]	29		2	15	3		6	16					25

2%13=2 ,15%13=2,已经被2占了所以(2+1)%13=3;
3%13=3已经被15占了,所以(3+1)%13=4;
16%13=3已经被占,且4号也已经被占,所以(3+2^2)%13=7;
25不说了,29%13=3,(3+3^2)%13=12也被站一直算到3+6 ^6=39得到0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值