数据结构中双重哈希


在本节中,我们将了解开放寻址方案中的双重哈希技术是什么。有一个普通的哈希函数 h´(x) : U → {0, 1, . . ., m – 1}。在开放寻址方案中,当空间不为空时采用普通的哈希函数 h’(x),然后执行另一个哈希函数来获取某些插入空间。

h1(x)=xmodm

h2(x)=xmodm

h(x,i)=(h1(x)+ih2)modm

i 的值为 0、1、…。、m – 1。因此,我们从 i = 0 开始,并增加此值,直到得到一个空闲空间。因此,最初当 i = 0 时,h(x, i) 与 h´(x) 相同。

示例

假设我们有一个大小为 20 的列表 (m = 20)。我们想要以线性探测方式放置一些元素。元素为 {96, 48, 63, 29, 87, 77, 48, 65, 69, 94, 61}

h1(x)=xmod20

h2(x)=xmod13

x h(x, i) = (h1 (x) + ih2(x)) mod 20 

 

哈希表 

更新于: 2020 年 8 月 10 日

3K+ 浏览

开启你的职业生涯

完成本课程即可获得认证

开始
广告