哈希表开放寻址:查找已删除/不存在的键是否会引发探测无限循环?
开放寻址哈希表删除操作的查找疑问
- 查找已被墓碑标记的已删除键时:
查找不会直接停在墓碑位置,因为墓碑只是标记该位置元素已删,后面的槽位可能存在因冲突被挪过来的其他元素。但绝对不会陷入无限循环——开放寻址的查找有明确终止规则:要么找到目标键,要么碰到真正的空槽(区别于墓碑),要么遍历完整张哈希表就会停止。 - 针对k3不存在(原本就没有或已被删除)的情况:
不会出现持续探测直至找到k3的情况。不管采用哪种开放寻址探测策略,查找流程都会在遇到空槽或者遍历完所有槽位后结束,不会无意义地持续寻找不存在的键。
内容的提问来源于stack exchange,提问作者Huayu Wu
相关产品推荐
相关产品推荐

