时间复杂度复习资料(最全版)36811.pdf
《时间复杂度复习资料(最全版)36811.pdf》由会员分享,可在线阅读,更多相关《时间复杂度复习资料(最全版)36811.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.2.2算法分析 算法分析的两个主要方面是算法的时间复杂度和空底复杂度,其目的主要是考察算法 的时间和空间效率.以求改进算法或对不同的算法进行比较一般情况下,崟于运算空间(内 存)较为充足,所以把算法的时间复杂度作为分析的重点.所谓一个语句的频度,即指该语句在算法中被重豆执行的次数。算法中所有语句的频 度之和记做T(n),它是该算法所求解问题规模n的函数。当阿题的规模D趋向无穷大时,T(n)的数量级称为渐近时间复杂度,置称为时间复杂度,记作T(n)-O(fln)e 上述表达式中“0”的含义是T(n)的数量级,其严格的数学定义是,若T(n)和Rn)是定义在正整数集合上的两个函数,则存在正的常数
2、C和n。,使得当nNnc时,总是满足 OWT(n)WCRn)但是我们总是考虑在最坏情况下的时间复杂度,以保证算法的运行时 间不会比它更长。FUNCTION NAME c Constant logN Logarithmic log2N Log-squared N linear NlogN NogN N?Quadratic N,Cubic 2可 Exponential Input Size(N)00 90 80 70 60 50 40 30 20 10 0 8 6 4 2 0(spuoo(Ds=lu)6ucuna:Input Size(N)(5)若 Ti(n)-nk)g2n+l0001og2n f
3、丁血-亦)净3-100010既,Tn-lOWlon T4(n)=2nlofi2n-1000kg涕中,则其中渐进时间最小的是T血)&提示:T|(n)=nhg2n+1000iog2n=0(nlogzii),T血户nk)*3】0001d&n0(ii),Tn户r?-1 OOOlogjnKMn2).Tnhlnlofcn-lOOOlQn-CXnlogzn).【练习12】下述函数中渐近时间最小的是嘿些?(1)TL(nhnlognH-1 OOOhgiD(2)T如)=nT000k)g:n(3)Tj(nn2-10001og2n(4)T4(n)=2nlog2n 1 OOOlogan【解】I(nO(nlag)i T血
4、)=0(扑小)T3(n)=O(n T4(n)=O(nlog2n)fl从中看到.Ti(n)x T/ti)最小但Ti(nXnT000)kg2n,T4(n)=(2n-1000)log2n 显然,n足够大时,Ti(n)vT4(fi)所以,渐近时间最小的是T(心 0(1)Temp=i;i=j;j=temp;以上三条单个语句的频度均为 1,该程序段的执行时间是一个与问题规模 n 无关的常数。算 法的时间复杂度为常数阶,记作 T(n)=0(1)。如果算法的执行时间不随着问题规模 n 的增加 而增长,即使算法中有上千条语句,其执行时间也不过是一个较大的常数。此类算法的时间 复杂度是 0(1)。O(nA2)2.
5、1.交换 i 和 j 的内容 sum=O;for(i=1:i=n;i+)for(j=1;j=n;j+)(M2 次)sum+;(nA2 次解:T(n)=2nA2+n+1=0(nA2)for(i=1;in;i+)y=y+1;for(j=0;j=(2*n);j+)(CApuooag)OE一-a 1000 2000 3000 4000 5000 6000 7000 B000 9000 1000C(一次)(n 次)解:语句 1 的频度是 n-1 语句 2 的频度是(n-1)*(2n+1)=2nA2-n-1 f(n)=2nA2-n-1+(n-1)=2nA2-2 该程序的时间复杂度 T(n)=0(nA2).
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 时间 复杂度 复习资料 最全版 36811
限制150内