我正在实现一个使用双重哈希的哈希表。但是,我的 insert(element) 方法有问题。它现在基本上执行以下操作:
- 检查数组中计算的位置是否为空。如果是这样,插入元素,我们就完成了
- 如果该位置被另一个元素阻塞,我们计算新的哈希值并从 1 重新开始。(递归)。
问题是该算法永远不会检测到哈希表何时已满。我可以跟踪访问位置的数量并将该数字与数组的大小进行比较以解决此问题。
但是,有没有更简洁的方法来做到这一点。就像,是否有可能从我的双重哈希的深度推断出数组必须是满的(数学上)?
我正在实现一个使用双重哈希的哈希表。但是,我的 insert(element) 方法有问题。它现在基本上执行以下操作:
问题是该算法永远不会检测到哈希表何时已满。我可以跟踪访问位置的数量并将该数字与数组的大小进行比较以解决此问题。
但是,有没有更简洁的方法来做到这一点。就像,是否有可能从我的双重哈希的深度推断出数组必须是满的(数学上)?