作者mygod1220 (晴天)
看板C_Sharp
标题Re: [问题] 指数容量阵列的问题
时间Sun May 7 16:20:23 2006
※ 引述《zanyking (遥远的旅人)》之铭言:
: ※ 引述《mygod1220 (晴天)》之铭言:
: 你试看看double[][]吧:
: double [][] matrix = new double[1<<N][1<<N];
: 只要Array index没有超过long极限,应该可以跑。
感谢!
这种阵列的确可以容纳
刚刚的叙述有一点错误
输入的大小应该是0(N x 2^N)
我是要储存一个N层的FULL B.T.
LEVEL i有2^i-1个节点
这样可以每一层配置刚刚好的节点数目给它
刚刚试过N=20...按钮一按结果很快就出来
N=25...等大概五秒
N=30 记忆体就不够.......
: 1000...2的一千次方有多大你知道吗@@
: Int32的极限值为: 1<<31-1;
: 数学表示法为:1* 2^31 -1...
: 2^1000?你确定他没有用一些大数处理的演算法解决?
: 而且,就算是超超级电脑1<<1000可以用好了,计算一下他alocat的记忆体。
: 2^1000 * 2^1000 *32(bit) = ?你是用超大型硬碟阵列当RAM用吗?
: 我肯定它会爆。
我看过别人用c++写的code
基本上我们是一起讨论解法的
只是程式语言用的不同
所以他并没有用什麽特殊的演算法
N=100的时候,也是很快就算出来了
也没有OutOfMemory的错误
ps:他是宣告一个class node,然後再用一个**Tree指向每个node
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.138.216.217
※ 编辑: mygod1220 来自: 220.138.216.217 (05/07 17:41)