如何最好地从使用线性探测的哈希表中删除一个条目?一种方法是使用标志来指示已删除的元素。是否有比这更好的方法?
如何最好地从使用线性探测的哈希表中删除一个条目?一种方法是使用标志来指示已删除的元素。是否有比这更好的方法?
一种简单的技术是:
这种技术保持了您的表格整洁,牺牲了稍微慢一些的删除速度。
Python的哈希表实现(可以说非常快)使用虚拟元素来标记删除。当你增加、减少或调整表格大小时(假设你不是用固定大小的表格),你可以同时删除这些虚拟元素。
如果您有这篇文章的副本,请查看《编写优美代码》中关于Python哈希表实现的文章。
将哈希表改进为像链表一样包含指针,这个想法怎么样? 插入时,如果桶已满,请从此桶创建一个指向存储新字段的桶的指针。
从哈希表中删除内容时,解决方案与从链表中删除节点的编写方式相同。