我需要在内存中加载9digit手机号码以检查用过的号码。 如何优化内存空间? 我想在内存中加载所有数据。
让我知道如何做或关键字。谢谢。
答案 0 :(得分:0)
您可能需要多个结构。每个9位移动号码需要略少于30位的内存。当这些数字很小时,只需一个(有序)数组或32位整数的动态哈希表即可。
当这些数字的数量增加时,大小为10 ^ 9位或~119 MB的位向量,每个可能的数字关联一位,优于散列表。
收支平衡点可能在2800万左右(或119 MB的90%)。
考虑少量数字的一种方法是基数树(patricia trie),可以搜索。