首页 > 试题广场 >

采用线性探测法处理散列时的冲突,当从哈希表删除一个记录时,不

[单选题]
采用线性探测法处理散列时的冲突,当从哈希表删除一个记录时,不应将这个记录的所在位置置空,因为这会影响以后的查找。()
  • 正确
  • 错误
1L头像 1L
考虑置空位置a后面存有数b,当查询b的时候,可能由于查询到a位置为空,就不往下查了,导致查询结果错误
发表于 2017-05-29 11:13:55 回复(0)
做一个删除标记进行逻辑删除,避免后续查找发生误判
发表于 2022-08-01 15:53:00 回复(0)
我们冲突的时候加了很多数据,比如 "a": 5, "b": 6, "c": 7,假如a,b,c都是冲突的,那么就会按照数组的形式在hashmap中存储如下:

5->6->7, 这里假如是连续存储, 那么删除6,我这里将它置为空,会发生什么?

我map.get("c"), 这个时候从5开始往后查,5不是, 然后往后,发现为null,返回null,结束查询,7就死在里面了。 

发表于 2023-08-01 20:38:26 回复(0)