以下代码的空间和时间复杂性以及如何
large(n) //n is +ve
{
if(n<=1)
return n;
sum=0;
for(i=1 to n-1)
sum=sum+large(i);
return sum;
}
答案 0 :(得分:1)
您有:T(n <= 1) = O(1)
和T(n) = T(n-1) + ... + T(1) + O(1)
。
解决此问题,您获得T(n) = O(n!)
。
此外,您可以观察large(k)
计算O(n)
次。实际上,你可以通过注意到这个算法是动态编程的完美候选者来增加整个计算速度!