| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:这题递推运算量好像很可能上亿啊!递归内存不允许啊!!!咋办!!!In Reply To:Re:这题递推运算量好像很可能上亿啊!递归内存不允许啊!!!咋办!!! Posted by:longinus at 2007-10-02 12:07:50 我用C#,看C++代码头疼。
我也懒得看你那个算法,
我点进来,是因为我百度搜索“递归超过40亿”的第一个搜索结果。
因为我刚刚遇到一个问题,本来想用递归去遍历所有可能性,
但是需要递归24G次,堆栈溢出,我用的VS2008,WinXP,默认情况堆栈为2M,
虽然可以在程序生成的时候指定堆栈大小,但是那样会耗费大量的内存,不切实际。
百思不得其解的时候,突然想到返璞归真,改用循环。
我的问题已知需要的循环次数,很方便,如果不知道需要的循环次数.
try
{
while(true)
{
......
}
}
catch
{}
就好了。
使用循环的话每次循环结束都会释放掉本次循环用到的资源,所以不会溢出。
只是循环次数多相当耗费时间而已。
总想精简代码使用递归是好的想法,但是大量运算还是要返璞归真用一下循环。
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator