作者zanyking (遥远的旅人)
看板C_Sharp
标题Re: [问题] 指数容量阵列的问题
时间Sun May 7 14:35:21 2006
※ 引述《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