gpt4 book ai didi

java - 使用java实现open hash中的惰性删除的高效方法

转载 作者:太空宇宙 更新时间:2023-11-04 14:53:08 26 4
gpt4 key购买 nike

我正在使用二次探测实现一个开放哈希表。我的数据库是java String[](我的对象仅限于字符串)。对于删除,我使用惰性删除,但我想真正高效地实现它。我确信有比持有全新的标志数组( Activity/空/删除)更优雅的解决方案。

我考虑在删除时分配一些已知的常量字符串(例如“”,空字符串),并在需要时将单元格内容与该字符串本身的指针进行比较(使用 == 而不是 String.equals)。这样我就知道单元格已被删除,但 Activity 单元格可以保存任何类型的字符串(包括空字符串),因为它永远不会指向我们的常量字符串。

我的想法有问题吗?

最佳答案

使用单个Object数组,元素可以是null(空闲槽)、String(完整槽)和特殊

private static final Object TOMBSTONE = new Object();

用于延迟删除的插槽。

关于java - 使用java实现open hash中的惰性删除的高效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23525976/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com