【发布时间】:2016-02-08 09:53:51
【问题描述】:
我有两个向量 a[100000] 和 b[100000]。我想将a[i]*b[j] 存储在100000 x 100000 矩阵M 中。如何在 C++ 中做到这一点?
【问题讨论】:
-
如果你有足够的内存使用
std::vectorofstd::vector,否则你可以使用memory mapped file。 -
不,我的意思是假设我正在制作一个矩阵 T 阶 n*n,其中每个元素 A(i,j)=A(i)*B(j)
-
还有很多库可以以节省空间的方式处理sparse matrixes。
-
@Joachim Pileborg 不,我必须在用户运行时存储它
-
所以?内存映射文件仍然是存储大量运行时数据的有效方式(我猜这就是您的意思)。没有什么说一旦您处理完数据就必须保留该文件。稀疏矩阵或(如果你有足够的内存)向量的向量,甚至单个向量都是其他有效的可能性。
标签: c++