找到以下代码的时间和空间复杂性

时间:2013-09-24 11:39:01

标签: algorithm analysis

以下代码的空间和时间复杂性以及如何

large(n) //n is +ve
{ 
    if(n<=1) 
        return n;

    sum=0;

    for(i=1 to n-1)
        sum=sum+large(i);

    return sum;
}

1 个答案:

答案 0 :(得分:1)

您有:T(n <= 1) = O(1)T(n) = T(n-1) + ... + T(1) + O(1)

解决此问题,您获得T(n) = O(n!)

此外,您可以观察large(k)计算O(n)次。实际上,你可以通过注意到这个算法是动态编程的完美候选者来增加整个计算速度!