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