我正在尝试理解开放寻址法。我参考了 T.H. Cormen 的相关书籍,其中指出在开放寻址中删除操作很难。我完全无法理解以下段落:
从开放地址哈希表中删除一个键是困难的。当我们从槽i中删除一个密钥时,我们不能简单地通过将NIL存储在其中来标记该槽为空。这样做可能会使在插入我们已经探测到槽i并发现它被占用的任何键k都无法检索。
请用一些例子来解释这一点。
从开放地址哈希表中删除一个键是困难的。当我们从槽i中删除一个密钥时,我们不能简单地通过将NIL存储在其中来标记该槽为空。这样做可能会使在插入我们已经探测到槽i并发现它被占用的任何键k都无法检索。
请用一些例子来解释这一点。
insert(y,position)=if (position is occupied) insert(y,position+1); else table[position]=y
- amit