【发布时间】:2015-04-27 00:06:05
【问题描述】:
谁能解释一下下面递归方法的堆栈中将存储多少调用以及为什么?什么时候确切地存储在堆栈中?显然是49个电话,但我不明白为什么。谢谢。
public static long fib( int n ){ // n = 50
if( n <= 1 )
return 1;
else
return fib( n - 1 ) + fib( n - 2 );
}
【问题讨论】:
-
可以说离题了,但如果你想了解现代计算机的堆栈和所有部分是如何工作的,我强烈建议阅读this book。可能是我读过的最重要的计算机科学书籍。
标签: java recursion stack fibonacci