优化:最小化使用内存

optimization: minimize using memory

我需要在内存中加载 9 位手机号码以查看已用号码。 如何优化内存 space? 我想加载内存中的所有数据。

让我知道怎么做或关键字。谢谢。

您可能需要多个结构。每个 9 位手机号码需要略少于 30 位的内存。当这些数字的数量很少时,只需一个(排序的)数组,或一个 32 位整数的 动态散列 table 就足够了。

当这些数字的数量增加时,大小为 10^9 位或 ~119 MB 的位向量为每个可能的数字关联一位优于散列 table。

盈亏平衡点可能约为 2800 万个数字(或 119 MB 的 90%)。

对于少量数字可以考虑的一种方法是基数树 (patricia trie),它是可搜索的。