相关疑难解决方法(0)

你如何找到这种递归函数的空间复杂性?

f (int n){
    if (n<=0){
        return 1;
    }
    return f(n-1) + f(n-1);
}
Run Code Online (Sandbox Code Playgroud)

假设我们做了f(4).我的想法是它会是O(2 ^ n),从那以后为了找到f(n-1)+ f(n-1),我们必须将f(n-1)= f(3)推到调用堆栈两次,然后f(2)调用堆栈的四倍等.但是,我得到的这本书说是O(n).为什么这是真的?

algorithm recursion big-o time-complexity space-complexity

11
推荐指数
1
解决办法
1007
查看次数