Data structures 给定两个哈希函数的开放地址哈希

Data structures 给定两个哈希函数的开放地址哈希,data-structures,hash,Data Structures,Hash,我有元素序列:S={1,17,8,12,9,10,8},我必须用散列函数h1(x)=xmod7和h2(x)=1+(xmod3)和m=7对它们进行散列 h1(1) = 1mod7 = 1 -> [ ][ 1 ][ ][ ][ ][ ][ ] h1(17) = 17mod7 = 3 -> [ ][ 1 ][ ][17 ][ ][ ][ ] 现在h1(8)=8mod7=1但是这会导致冲突,所以我必须使用第二个散列函数,它给出h2(8)=1+

我有元素序列:
S={1,17,8,12,9,10,8}
,我必须用散列函数
h1(x)=xmod7
h2(x)=1+(xmod3)
m=7
对它们进行散列

h1(1) = 1mod7 = 1   -> [   ][ 1 ][   ][   ][   ][   ][   ]
h1(17) = 17mod7 = 3 -> [   ][ 1 ][   ][17 ][   ][   ][   ]
现在
h1(8)=8mod7=1
但是这会导致冲突,所以我必须使用第二个散列函数,它给出
h2(8)=1+(8mod3)=3,但是这也会导致冲突,那么我应该将元素
8
存储在哪里呢?谢谢

您可以:

  • 如果在第二个哈希中发生冲突,则链接对象

  • 选择一系列散列函数,而不仅仅是两个。如果与
    i
    th函数发生冲突,则使用
    i+1
    th函数进行散列。阅读有关双重散列的更多信息