【发布时间】:2013-09-09 22:39:15
【问题描述】:
我正在使用 g++ 编译器在 ubuntu 中开发一个 cpp 项目,我需要创建一个大小为 1000000x1000000 = 10^12 个元素的矩阵,其条目是布尔变量。但是我的 g++ 编译器只允许我为大约 1000x1000 个元素分配空间。如何克服为这个巨大的矩阵分配空间的问题?
【问题讨论】:
-
您不需要这么大的矩阵。让我们假设它需要一秒钟来处理每个条目(并且你有足够的内存!)那么它将需要 31000 年!所以我怀疑这是一个结局
-
也许你可以退后一步,解释一下你是如何得出你需要这个大小的数组的结论的。
-
好的。假设矩阵的大小是 mxn。我们需要为每个唯一的关键字文件(mxn)对存储一个布尔值,其中关键字的最大数量(m)约为 10^6,并且我们数据库中的最大文件数量(n)假设为 10^6。跨度>
-
如果这是一个家庭作业,它的目的可能是让你想到替代技术(稀疏数组、树、哈希表……)
标签: c++ linux gcc memory-management multidimensional-array