int blah(int n)
{
int sum = 0;
int i, j;
if (n == 0)
return 1;
for(i=0; i<=n-1; i++)
for(j=0; j<=log(n); j++) {
loop-body
}
sum = blah(n/2);
sum += blah(n/2);
return sum;
}
通过递归得到运行时间的公式
T(N) = 2T(n/2) + o(nLogn)
这个递归式子对么?怎么对其化简呢?
...全文
1255打赏收藏
计算这个函数的时间复杂度
int blah(int n) { int sum = 0; int i, j; if (n == 0) return 1; for(i=0; i<=n-1; i++) for(j=0; j<=log(n); j++) { loop-body } sum = blah(n/2); sum += blah(n/2); return sum; } 通过递归得到运行时间的公式 T(N) = 2T(n/2) + o(nLogn) 这个递归式子对么?怎么对其化简呢?