gpt4 book ai didi

c# - 用于识别重复值的数据结构

转载 作者:行者123 更新时间:2023-11-30 14:03:47 25 4
gpt4 key购买 nike

我正在运行相当大的搜索,并收到 System.OutOfMemoryException。

问题是我正在为我之前访问过的每个状态存储一个字符串键作为 HashSet<sting> .一旦达到大约 700 万个元素,它就会崩溃。我的想法是我不需要能够检索字符串,只需要识别它是否存在于集合中。

我似乎记得这种东西有专门的数据结构,但我一辈子都记不起它的名字了。如果我没记错的话,它有相当稳定的内存需求,你向它添加元素,它可以在一定程度上确定你是否已经向它添加了一些值。这是我编的,还是真的存在。有什么建议吗?

最佳答案

您可能正在考虑 Bloom filter .当您检查字符串是否在集合中时,它会为您提供概率结果。如果是的话,你总能找到它。如果不是,您仍然可以检测到它是,这取决于您集合中的其他内容。它的内存需求确实会根据您添加的唯一元素的数量而变化,但它低于 HashSet 将占用的空间。

关于c# - 用于识别重复值的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3462752/

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