码迷,mamicode.com
首页 > 其他好文 > 详细

时间复杂度几个概念

时间:2015-12-13 15:28:41      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

T(N) = O(f(N))(念做大O),含义:T(N)的增长率小于等于f(N)的增长率。理解为,N趋于无穷大,T(N) <= f(N)。若T(N)的增长率恒小于f(N),则可记为T(N) = o(f(N))(念做小o)。

T(N) = Ω(g(N))(念做omega),含义:T(N)的增长率大于等于g(N)的增长率。理解为,N趋于无穷大,T(N)>=g(N)。

当T(N) = O(h(N)) 且 T(N) = Ω(g(N)),则T(N) = Θ(h(N))(念theta)。

法则1:

如果T1(N) = O(f(N))且T2(N) = O(g(N)),那么

1)T1(N) + T2(N) = max(O(f(N)), O(g(N)))

2)T1(N) * T2(N) = O(f(N) * g(N))

法则2:

如果T(N)是一个k次多项式,则T(N)=Θ(Nk)

法则3:

对于任意常熟k,logkN = O(N)。(这个法则用的比较多,说明每个循环若都是logN,则套几次循环都比O(N)快)

 

时间复杂度几个概念

标签:

原文地址:http://www.cnblogs.com/ming20151206/p/5042836.html

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