gpt4 book ai didi

c - C 中针对 100 万条记录的数组的内存优化

转载 作者:太空宇宙 更新时间:2023-11-03 23:32:40 25 4
gpt4 key购买 nike

我正在编写一个程序,它要求我创建一个包含一百万条记录的数组。数组索引是唯一的 ID(0 百万表示唯一的产品 ID)。首先,所有元素都初始化为零。它们会根据销售的产品而增加。

但是这种方法具有很高的空间复杂度(4 * 百万字节)。后来我看到只有某些产品需要经常更新。那么有什么方法可以减少内存使用量并跟踪所有产品吗?

最佳答案

如果您不需要频繁更新,那么您可以将所有结果存储在一个文件中。每当您更新任何条目时,您只需创建一个包含所有其他条目以及更新的条目的临时文件。之后,您可以使用 rename(temp,new); 更改临时文件的名称。

尽管如此,一个包含数百万条记录的数组并不需要那么多内存(仅 4 兆字节)。因此,您的方法是最好和最简单的方法。

最好的方法(从算法上讲)是制作一个哈希表来存储所有条目。但是,如果您不是 C 专家,那么制作哈希表对您来说可能是个问题。

关于c - C 中针对 100 万条记录的数组的内存优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12237784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com