摘要: 一、尾递归 一般的递归如果递归次数过多就可能会遇到栈溢出,这是由于每个线程在执行代码时,都会分配一定尺寸的栈空间(Windows系统中为1M),每次方法调用时都会在栈里储存一定信息(如参数、局部变量、返 回地址等等),这些信息再少也会占用一定空间,成千上万个此类空间累积起来,自然就超过线程的栈空间了。不过这个问题并非无解,我们只需把递归改成如下形式即可(在这篇文章里我们不考虑非递归的解法)int Factorial(int number, int accumulator){ if (number continuation){ if (0 == number) return co... 阅读全文
posted @ 2013-09-01 00:55 Wolves_群狼 阅读(247) 评论(0) 推荐(0) 编辑