Time complexity 如何确定给定递归函数的运行时间T(n)?
如何确定下一个函数的Tn递推公式Time complexity 如何确定给定递归函数的运行时间T(n)?,time-complexity,recurrence,Time Complexity,Recurrence,如何确定下一个函数的Tn递推公式 if(N == 0) return 1; s = 0; x = function(N/3); for(i = 1; i <= N; i++){ s += x; } return s; 您可以识别复杂度为Tn/3的递归调用x=function n/3。下面是N个加法,因此需要考虑N个操作 因此,该函数复杂性的递推关系为 T(n) = T(n/3) + n 因此 T(n) = O(n.log3(n)) 您可以使用主定理: Tn=a*Tn/
if(N == 0)
return 1;
s = 0;
x = function(N/3);
for(i = 1; i <= N; i++){
s += x;
}
return s;
您可以识别复杂度为Tn/3的递归调用x=function n/3。下面是N个加法,因此需要考虑N个操作 因此,该函数复杂性的递推关系为
T(n) = T(n/3) + n
因此
T(n) = O(n.log3(n))
您可以使用主定理: Tn=a*Tn/b+C*n^k,a,b,C>0,k在n中 案例1:aTn在Θn^k中 案例2:a=b^k->Tn在Θn^k*log n中 案例3:a>b^k->Tn在Θn^logb a中 在您的情况下,Tn=1*Tn/3+С*n^1 a=1,b=3,k=1->Tn为Θn