【发布时间】:2010-01-03 09:22:22
【问题描述】:
在作业期间,我被要求展示一个大小为 m(m>3,m 是素数)的哈希表,它小于半满,并且使用二次检查 (hash(k, i) = (h(k) + i^2) mod m),我们总能找到空位。
我已经检查并得出结论,将找到的点(当 h(k)=0 时)是 0 mod m、1 mod m、4 mod m、9 mod m、...
我的问题是我想不出一种方法来证明它总能找到空闲位置。我自己用不同的 m 值对其进行了测试,并且也证明了自己如果哈希表超过半满,我们可能永远找不到空闲位置。
谁能提示我解决这个问题的方法?
谢谢!
【问题讨论】: