首页 > 代码库 > 递归方程时间复杂度计算公式
递归方程时间复杂度计算公式
对于T(n) = a*T(n/b)+c*n^k;T(1) = c 的递归关系,
有如下结论:
if (a > b^k) T(n) = O(n^(logb(a)));
if (a = b^k) T(n) = O(n^k*logn);
if (a < b^k) T(n) = O(n^k);
对于:T(n) = 25T(n/5)+n^2
a=25 b = 5 k=2
有:a==b^k 故T(n)=O(n^k*logn)=O(n^2*logn)
对于:T(n)=4T(n/2)+cn
a=4 b=2 k=1
有:a>b^k 故:T(n)=O(n^(logb(a)))=O(n^2)
对于:T(n)=T(n/2)+cn^3
a=1 b=2 c=3
有:a<b^k 故:T(n)=O(n^k)=O(n^3)
另一个比较官方的定理:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。