【发布时间】:2015-03-31 07:00:24
【问题描述】:
我正在阅读 Weiss 的《数据结构》一书,我对分离链与散列函数之间的区别感到困惑。开放寻址中的哈希函数。
在分离链中,哈希函数定义为:
hash(x) = x mod tableSize
而在开放寻址中:
h_i(x) = (hash(x) + f(i)) mod tableSize
其中 i 是试验次数,f(i) 是函数,例如 f(i) = i 用于线性探测, f(i) = i^2 用于二次探测等
我有两个问题:
1) 在分离链中,有一个哈希函数是否有意义:
hash(x) = x mod 10
当表格大小等于 11 时?
2) 在开放寻址中,我们是否总是需要 mod 两次 tableSize 的键(+gap)?
【问题讨论】:
标签: data-structures