对于递归算法的时间复杂度的阶的计算,一般使用主定理计算:
T(n)=aT(n/b)+f(n),一般f(n)执行为多项式时间,即T(n)=a(n/b)+O(n^d)
1.d>logb a,T(n)=O(n^d)
2.d=logb a,T(n)=O(n^d*logn)
3.d<logb a,T(n)=O(n^(logb a))
其中,logb a为以b为底a的对数
对于递归算法的时间复杂度的阶的计算,一般使用主定理计算:
T(n)=aT(n/b)+f(n),一般f(n)执行为多项式时间,即T(n)=a(n/b)+O(n^d)
1.d>logb a,T(n)=O(n^d)
2.d=logb a,T(n)=O(n^d*logn)
3.d<logb a,T(n)=O(n^(logb a))
其中,logb a为以b为底a的对数