首页 > 其他 > 详细

时间复杂度几个概念

时间:2015-12-13 15:25:48      阅读:153      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!