我有一个大小为11的散列表,实现为一个数组。我试图使用双重散列技术;我已经完成了我的大部分数据。我的散列函数如下:双散列给出一个大于表大小的数字
h1 = key mod 11
h2 = 3*key mod 4
这使我h(k,i) = k mod 11 + i(k * 3 mod 4)
其中i = 0,1,2,3,...
我已经有时隙0,1,4,8,9,和10填写。我试图插入19.这是我的哈希结果19:
1st time: 8 <-- collision
2nd time: 9 <-- collision
3rd time: 10 <-- collision
4th time: 11 <--- well there is no index 11 table ends with index 10
我该怎么办?
此外,当他们说“让表格有11个插槽”时,这是否意味着散列表有0到10的可用插槽?
你'意味着H(K,I)=键MOD 11 + I *(键* 3 mod 4)时'? – Serge
是的,我们必须使用的功能,如果我们第一次失败。 – printfmyname
好的,如果所有11个插槽已经填满了会怎么样? – Serge