小编Rad*_*dek的帖子

线性探测如何在不中断查找的情况下处理删除?

这是我对线性探测的理解。

对于插入: - 我们散列到某个位置。如果该位置已经有值,我们线性递增到下一个位置,直到遇到空位置,然后在那里插入。这就说得通了。

我的问题围绕查找。从我读过的描述来看,我相信查找的工作方式如下:

  • 我们查看我们正在寻找哈希值的项目的位置。
  • 如果位置为空,我们返回 Not Found
  • 如果位置已满,我们线性移动到位置,直到遇到我们正在寻找的值,或者遇到空位置(意味着未找到)

那么当我们从哈希中删除一个项目时,这是如何工作的呢?这不会扰乱这次查找吗?假设两个项目散列到相同的位置。我们添加这两个项目,然后删除我们添加的第一个项目。所以现在,第二个项目的预期位置(必须移动到不同的位置,因为第一个项目最初占据了它)是空的。删除是否以某种方式处理这个问题?

hashtable data-structures linear-probing

9
推荐指数
1
解决办法
7706
查看次数