我正在写一个程序,它要求我创建一个由一百万条记录组成的数组数组索引是唯一的id(0-million表示唯一的产品id)首先,所有元素都初始化为零根据所销售的产品而增加。
然而,这种方法具有高的空间复杂度(4×百万字节)。后来我发现只有某些产品需要经常更新那么,有没有什么方法可以减少内存使用并跟踪所有产品呢?
最佳答案
如果不需要频繁更新,则可以将所有结果存储在一个文件中无论何时更新任何条目,您都可以创建一个临时文件,其中包含所有其他条目和更新的条目之后,您可以使用rename(temp,new);
更改临时文件的名称。
尽管如此,一百万条记录的数组不需要那么多内存(只有4兆字节)所以,你的方法是最好也是最简单的。
最好的方法(算法上)是创建一个散列表来存储所有条目但是如果你不是C语言的专家,那么做一个哈希表对你来说可能是个问题。