我有大量的序列整数需要查找,也就是说我需要得到序列整数I d的偏移量。问题是,由于内存限制,我不想将整个表加载到内存中来构建哈希表/字典,所以该怎么办?
一个可行的解决方案是让文件中存储的第一个整数是使用的最低id,然后将一个零整数数组(每个id一个)写入最大id(需要时追加),并在正确的位置写入id。例如,如果最低的id是1000,并且您希望在20000处获取偏移量,那么您只需在位置10000+20000-1处检索整数。
使用内存映射这项技术应该可以很好地执行。有没有人有过类似的问题,这是一个好的解决方案还是有更好的方法?