C# 如何存储50000个英语单词,以便尽可能少地占用内存
我必须在内存中存储大约50000个英语单词,我想知道在内存占用(和加载速度)方面,什么是最好的数据结构。这会是一次旅行吗?如何将其序列化为文件?还有比这更好的吗 本质上,一旦~50000个单词被加载到内存中,我只需要检查这个单词是否存在。根据答案,这个类就是您所需要的。根据MSDN文档,您应该使用以下方法访问数据: 如果代码经常尝试访问,请使用TryGetValue方法 字典中没有的键。使用这种方法更有效 比捕获项引发的KeyNotFoundException更有效 财产 根据答案,这门课就是你所需要的。根据MSDN文档,您应该使用以下方法访问数据: 如果代码经常尝试访问,请使用TryGetValue方法 字典中没有的键。使用这种方法更有效 比捕获项引发的KeyNotFoundException更有效 财产C# 如何存储50000个英语单词,以便尽可能少地占用内存,c#,data-structures,trie,C#,Data Structures,Trie,我必须在内存中存储大约50000个英语单词,我想知道在内存占用(和加载速度)方面,什么是最好的数据结构。这会是一次旅行吗?如何将其序列化为文件?还有比这更好的吗 本质上,一旦~50000个单词被加载到内存中,我只需要检查这个单词是否存在。根据答案,这个类就是您所需要的。根据MSDN文档,您应该使用以下方法访问数据: 如果代码经常尝试访问,请使用TryGetValue方法 字典中没有的键。使用这种方法更有效 比捕获项引发的KeyNotFoundException更有效 财产 根据答案,这门课就是你
提出了一种字典对象。 请阅读以下内容: 有关实施的帮助,请阅读以下内容: 要序列化dictionary对象或哈希表,请阅读此引用:
建议使用字典对象。 请阅读以下内容: 有关实施的帮助,请阅读以下内容: 要序列化dictionary对象或哈希表,请阅读此引用:
是的,trie听起来适合这个。对于序列化,您有两个选项:
是的,trie听起来不错。对于序列化,您有两个选项:
嗯,根据您提供的指导原则,一个简单的
列表
会更好
提取时间明显比Trie
或字典
慢,但是
“在内存占用(和加载速度)方面”
它只需要很少的内存开销,而且加载速度更快(因为没有建立索引/前缀数据结构)
有关一些内存比较的详细信息,请参见本文(在JavaScript中,但仍然适用)。好吧,根据您提供的指南,一个简单的
列表将更好
提取时间明显比Trie
或字典
慢,但是
“在内存占用(和加载速度)方面”
它只需要很少的内存开销,而且加载速度更快(因为没有建立索引/前缀数据结构)
有关一些内存比较的详细信息(在JavaScript中,但仍然适用)。当然,如果选择是»Dictionary或Hashtable«,则选择Dictionary。但他们的问题甚至暗示他们可能需要Trie。我选择了一个错误的引用,但我的意图是显示Dictionary类的信息。如果选择»Dictionary或Hashtable«,则最好选择Dictionary。但他们的问题甚至暗示他们可能需要Trie。我选择了一个错误的引用,但我的意图是显示Dictionary类的信息。更好的参考是