【发布时间】:2020-03-20 06:23:53
【问题描述】:
如果我们不考虑堆栈调用内存,那么递归 fibnonacci 消耗的空间是多少?
我读了here,上面写着 0(N),但我很困惑在考虑空间时是否应该包括堆栈内存。
伪代码:
int Fibonacci(int n)
{
if ( n == 0 )
return 0;
else if ( n == 1 )
return 1;
else
return ( Fibonacci(n-1) + Fibonacci(n-2) );
}
【问题讨论】:
-
哪种递归斐波那契算法?我知道至少有两个,可能还有更多。
-
您应该在问题中包含此内容。甚至作为伪代码。
-
是否考虑堆栈内存取决于您。我会说因为堆栈上使用的内存也是使用过的内存,所以我为什么不计算在内。
-
您链接到的 sn-p 中的所有分配都在堆栈上。
标签: algorithm recursion time-complexity space-complexity