作者dan40418 (成登)
看板C_and_CPP
标题[问题] 大矩阵
时间Fri Apr 1 13:34:27 2016
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
各位版大您好,
小弟是C++新手,目前遇到要宣告一个100000 X 300000的二维矩阵
目前是利用下面的code去宣告
int **data;
data = new int*[100000];
for (i=0;i<N;i++){
data[i] = new int[300000];
}
但是都直接跑std::bad_alloc
想请问一下版大这样要怎麽解决??拜托惹~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.36.248.82
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1459488869.A.A8E.html
1F:推 tuyutd0505: 你可以算算看 100000X300000 的int要占多大记忆体 ... 04/01 13:51
2F:推 sunev: 112 GB 你有这麽多记忆体吗? 04/01 13:52
3F:→ wuliou: 这麽大你只能分区计算再合并了吧 04/01 13:55
4F:→ MOONRAKER: 我有一根柴很长 比我的炉子还要长 该怎麽办 04/01 14:05
5F:推 yyan1218: 威猛 04/01 14:07
6F:→ v7q4: 可见你的问题不适合用矩阵来解 试试其他方法吧 04/01 16:00
7F:→ Hazukashiine: 看是不是 sparse matrix 不然记忆体应该会不够用 04/01 17:43
8F:→ Hazukashiine: 实作的空间复杂度会下降很多 O(m*n) -> O(m+n) 04/01 17:44