需要高效的内存存储方式来存储大量字符串(是:Java中的HAT-Trie实现)

需要高效的内存存储方式来存储大量字符串(是:Java中的HAT-Trie实现),第1张

需要高效的内存存储方式来存储大量字符串(是:Java中的HAT-Trie实现)

对于您的约束而言,特里树似乎是个好主意。

一种“框外思考”的替代方案:

如果您有能力为缺少的字符串回答“现在”的可能性

编辑:如果您可以负担得起误报,请使用WizardOfOdds在评论中建议的Bloom过滤器

对于k = 1,Bloom过滤器就像没有键的哈希表:每个“
bucket”只是一个布尔值,它指示是否存在至少一个具有相同哈希值的输入。如果可接受1%的误报,则您的哈希表可以小到大约100 *2000万比特或大约200 MiB。对于千分之一的误报,为2GiB。

使用多个散列函数代替一个散列函数可以提高相同数量位的误报率。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5623227.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存