Re: [問題] 指數容量陣列的問題

看板C_Sharp (C#)作者 (遙遠的旅人)時間19年前 (2006/05/07 14:19), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
※ 引述《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
文章代碼(AID): #14NP5r_u (C_Sharp)
文章代碼(AID): #14NP5r_u (C_Sharp)