<分区>
我目前正在使用列表、字典和数据表来存储我所有的数据, 但我想知道是否有更好的数据结构或方法(在较低级别)存储数据以便有效地使用内存。
任何帮助将不胜感激。
<分区>
我目前正在使用列表、字典和数据表来存储我所有的数据, 但我想知道是否有更好的数据结构或方法(在较低级别)存储数据以便有效地使用内存。
任何帮助将不胜感激。
最佳答案
这取决于您的数据和使用情况。如果您只想存储数据,那么最有效的方法是对整数或 float (或任何其他普通旧数据)使用数组,对字符串使用字符串池。
如果您需要索引数据,例如按键搜索,那么就大小而言最有效的数据结构之一就是尝试。使用什么键类型并不重要——整数、 float 或字符串,trie 可用于创建索引。整数或任何其他键都可以表示为二进制字符串并插入到 trie 中。有很多不同的 trie 数据结构,它们使用某种压缩来更有效地存储数据,例如 - Array Mapped Trie。您还可以在最低级别添加一些压缩,例如使用带整数的 base 128 编码或 Golomb 编码。
关于c# - 什么数据结构最好存储数百万数据但占用内存最少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13116781/