我想以某种方式将包含 250 M 状态(每个 1 位)的结构表示为尽可能少的内存(最多 100 k)。对它的操作是set/get。我冷不说它是密集或稀疏,它可能会有所不同。 我想使用的语言是 C。
我在这里查看了其他线程以找到也合适的东西。例如,像布隆过滤器这样的概率结构就不适合,因为可能存在错误答案。
请问有什么建议吗?
最佳答案
如果您知道您的数据可能稀疏,那么您可以使用 run-length encoding 。但除此之外,您无法压缩它。
关于c - 在很小的内存中表示非常大的位数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4981270/