码迷,mamicode.com
首页 > 编程语言 > 详细

算法时间复杂度

时间:2017-12-27 11:52:57      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:取值   一个   三次   表示   计算   时间   说明   body   log   

算法时间复杂度用相对增长率是度量

表示方法:

T(N)=O(f(N)) 那么T(N)<=f(N)的增长率

T(N)=?(g(N))那么T(N)>=g(N)的增长率

T(N)=o(p(N)) 那么T(N)<p(N)的增长率

T(N)=θ(h(N)) 那么T(N)=h(N)的增长率

通常采用大O记法

计算法则

法则1:如果T1(N)=O(f(N))且T2(N)=O(g(N))

a.T1(N)+T2(N)=O(f(N)+g(N)) 最终取值max(O(f(N)),O(g(N)) )

b.T1(N)T2(N)=O(f(N)g(N))

法则2:如果T(N)是一个k次多项式,则T(N)=θ(Nk)(k次方)

法则3:对于任意常数k,lognkn=O(N)。说明对数增长率相当缓慢

增长率函数的常见分类

c常数、logN对数、log2N对数的平方、N线性、NlogN、N2二次方、N3三次方、2N指数

洛必达法则

limN->∞f(N)/g(N)

极限值是0,那么T(N)=o(g(N)) 

极限值c/=0,那么T(N)=θ(g(N))

极限值是∞,那么g(N)=o(f(N))

算法时间复杂度

标签:取值   一个   三次   表示   计算   时间   说明   body   log   

原文地址:https://www.cnblogs.com/yanwei-wang/p/8124328.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!