对于递归算法的时间复杂度的阶的计算,一般使用主定理计算:
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的对数
1236

被折叠的 条评论
为什么被折叠?