Re: [問題] 指數容量陣列的問題
※ 引述《mygod1220 (晴天)》之銘言:
: 我目前要用VS.NET2003寫一個程式
: 程式的一開頭需要去初始化一個2^N X 2^N二維陣列
: 一開始我是用double[,]
: 但是當我把N值調到20左右時,就會出現Out_of_Memory例外...
這種二維陣列宣告只能有32個而已吧?我認為這是C#中的雞肋。
你試看看double[][]吧:
double [][] matrix = new double[1<<N][1<<N];
只要Array index沒有超過long極限,應該可以跑。
: 後來改用ArrayList雖然可以成功的擺下所有的元素
: 但是performance非常非常的差...要等很久
: 同樣的動作我看別人用C++的指標就非常的快...
: N到一百甚至一千也是一下子就跑出來了@@"
1000...2的一千次方有多大你知道嗎@@
Int32的極限值為: 1<<31-1;
數學表示法為:1* 2^31 -1...
2^1000?你確定他沒有用一些大數處理的演算法解決?
而且,就算是超超級電腦1<<1000可以用好了,計算一下他alocat的記憶體。
2^1000 * 2^1000 *32(bit) = ?你是用超大型硬碟陣列當RAM用嗎?
我肯定它會爆。
: 有沒有人知道有什麼好的解決方法嗎
: 感謝了!!!
--
JAVA 是一個靜態型別reference指定、強物件型別判定的語言。
屬於類C/C++族。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.85.116.116
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章