第一章算法的基本概念课件.ppt

第一章算法的基本概念课件

当一个算法的时间复杂性有T(n)=O(f(n))时,就能保证函数T(n)的增长率不会比f(n)更快,这样,f(n)是T(n)的上界。 这就蕴含着f(n) =Ω(T(n)),即T(n)是关于f(n)的下界。 例如,N3比N2增长得快,可以有N2 = O(N3),或N3=Ω(N2)。f(N)=N2和g(N)=2N2的增长率相同,所以f(N)=O(g(N))与f(N)=Ω(g(N))成立。 如果g(N)=2N2,则虽有g(N)=O(N4)、g(N)=O(N3)和g(N)=O(N2),但是g(N)=O(N2)是最好的答案。 规则1: 如果T1(n)=O(f(n))和T2(n)=O(g(n)),则 T1(n)+T2(n)=max(O(f(n)), O(g(n))), T1(n)*T2(n)= O(f(n)*g(n))。 规则2: 如果T(n)是k阶多项式,则T(n)= Θ(nk)。 规则3: 对任何正常数k,logkn=O(n)。这条规则说明对数增长率是非常慢的。 应用规则1――单循环 一个循环的运行时间等于内循环语句的运行时间乘上循环的次数。 应用规则2――嵌套循环 嵌套循环内的一组语句的运行时间是该组语句的运行时间乘上全部循环次数的积。 如下面的程序段的运行时间是O(n2)。 for(p = k = 0; k n; k++) for(j = 0; j

文档评论(0)

1亿VIP精品文档

相关文档