标签: algorithm asymptotic-complexity master-theorem
void f(int n) { if (!n) return; for (int i=0; i<8; i++) f(n/12); g(n,3); } void g(int n, int i) { if (!i) return; for (int j=n; j>0; --j) { g(n,i-1); } }
我试图估计这个函数的复杂性。这就是我这样做的方式:
这是正确的解决方案还是我还需要考虑其他问题?
答案 0 :(得分:0)
由于T(n)在n = 0时终止,T的递归必须为log12(T)深(忽略舍入和逐个等)。
T(n)
n = 0
T
log12(T)
如果我们扩展系列,请给出g的结果:
g
括号中的第二项非常小,因此可以忽略不计。因此总复杂度为Θ(n^3)。
Θ(n^3)