[問題] 大矩陣

作者: 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