0
A
回答
0
是的,你可以插入到已删除的插槽。但是......
首先,你应该知道,有软删除和硬删除。在软删除中,您只需翻转一个标记并将您的插槽标记为“已删除”,然后在硬删除时清空插槽。
让我解释一下为什么我们需要软删除:例如,你正在使用的哈希表与线性探测,不管怎样你的哈希函数映射3个的输入值相同的插槽。通过使用线性探测,您可以通过在桌面上线性前进来放置这三个元素,直到找到一个空插槽。如果您使用硬删除删除这种情况下,你会打破哈希表,因为会有一个空的插槽,同时尝试检索值,因此一个值将无法访问。
另一方面,如果你有一个完美的散列函数,你可以使用硬删除。完美的散列函数将每个输入值唯一地映射到插槽。所以不需要探测方案,硬删除不会破坏你的表格。
现在回到你的问题,你也应该考虑,并找出如何避免重复插入。
相关问题
- 1. Qt信号插槽:信号已发送,但未插入插槽
- 2. SQL插入 - 已删除表
- 3. 亚马逊Lex - 删除插槽类型
- 4. 插入到散列表中
- 5. UITableview插入/删除
- 6. 触发插入行插入删除
- 7. Cassandra - 重新插入删除的列
- 8. 删除用联合插入的列
- 9. 带有效插入/删除的“列表”
- 10. Qt转发插槽/连接插槽到插槽?
- 11. 删除并重新插入ListView列(.NET)
- 12. 如何插入/删除列到JTable java
- 13. 删除和插入下拉列表值
- 14. 链接列表插入/删除效率
- 15. 跟踪散装插入/更新失败的事务/删除
- 16. 关于arraylists中已定义的插槽
- 17. 排除插入列
- 18. Meteor.js:删除,同时插入
- 19. jQuery插入/删除网格
- 20. 插入/删除应答器
- 21. Vim:删除插入模式
- 22. 搜索插入或删除
- 23. 插入/删除性能
- 24. 懒惰插入/删除
- 25. Cassandra插入/删除问题
- 26. 更新/删除/插入DataGridView
- 27. 插入删除反斜杠
- 28. 插入和删除行
- 29. AngularJS - 自我删除/插入
- 30. 插入选择删除
是的,但你使用哪种语言? – tomsv