[问题] 大矩阵

楼主: dan40418 (成登)   2016-04-01 13:34:27
开发平台(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
想请问一下版大这样要怎么解决??拜托惹~
作者: tuyutd0505 (Huang Jason)   2016-04-01 13:51:00
你可以算算看 100000X300000 的int要占多大内存 ...
作者: sunev (Veritas)   2016-04-01 13:52:00
112 GB 你有这么多内存吗?
作者: wuliou (wuliou)   2016-04-01 13:55:00
这么大你只能分区计算再合并了吧
作者: MOONRAKER (㊣牛鹤鳗毛人)   2016-04-01 14:05:00
我有一根柴很长 比我的炉子还要长 该怎么办
作者: yyan1218 (今天下雨了吗)   2016-04-01 14:07:00
威猛
作者: v7q4 ((.)(.)乳剑双修 -|=>)   2016-04-01 16:00:00
可见你的问题不适合用矩阵来解 试试其他方法吧
作者: Hazukashiine (私は幸せです)   2016-04-01 17:43:00
看是不是 sparse matrix 不然内存应该会不够用实作的空间复杂度会下降很多 O(m*n) -> O(m+n)

Links booklink

Contact Us: admin [ a t ] ucptt.com