算法分析与枚举策略.pptx





《算法分析与枚举策略.pptx》由会员分享,可在线阅读,更多相关《算法分析与枚举策略.pptx(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、算法的分析方法简单性健壮性效率时间复杂度占用空间空间复杂度第1页/共20页算法的时间复杂度一个算法对特定输入的时间复杂性是该算法对该输入产生结果需要的基本操作或“步”数。假设我们求出算法过程中执行基本操作的次数,为c(n)次。我们进一步规定在特定计算机上算法的基本操作的执行时间为t,则可以估计出整个算法的运行时间Ttc(n)。时间复杂度只能衡量c(n)相对于n n的增长速度情况,和t没有直接关系。但考虑整个算法的运行时间时千万不要忽略了基本操作的执行时间t。第2页/共20页时间复杂度的规定设f(n)是关于n的函数,我们用关于f(n)的一个函数来表示算法的渐进时间复杂度。严格的定义是这样的:若存
2、在两个正常数c和m,对于任意nm都有|T(n)|c|f(n)|,(这可以看作是极限的思想:n-时,f(n)是T(n)的同阶或高阶无穷大)则称T(n)在集合O(f(n)中,用O(f(n)表示算法的时间复杂度。通常可以认为,算法过程中执行基本操作的次数为k时,g是对于某数的增长情况的函数,有g(k)g(f(n),则该算法的时间复杂度为O(f(n)。第3页/共20页O(f(n)中的f(n)的计算 c1|f(n)|T(n)|c2|f(n)|一般来说取满足上式的f(n)来表示时间复杂度较为精确。但是满足条件的f(n)还是很多,为了方便准确的表示时间复杂度,f(n)应用下面的方法求得:令f(n)=T(n)
3、,然后忽略常数和低次项(增长次数的排序见下张幻灯片)求得f(n)。例如3n4+8n2+n+2=O(n4),其中f(n)=n4。第4页/共20页关于时间复杂度的两个表第5页/共20页 Accepted or TLE一般来说评测机每秒处理基本操作108次左右,所以将题目最大数据带入O(f(n)就基本可以估计出是否会超时。第6页/共20页试分析三个算法的时间复杂度1.f0=f1=1,f2=2;for(i=3;i=n;i+)fi=fi-1+fi-3;2.for(i=1;i=n;i+)for(j=1;j=i;j+)if(j=1|j=i)fij=1;elsefij=fi-1j+fi-1j-1;3.for(
4、i=1;i=n;i+)for(j=1;j=i*i;j+)fj+;第7页/共20页试分析三个算法的时间复杂度算法一的基本操作数为n-2,时间复杂度为O(n)。算法二的基本操作数为(1+2+3+n)=n(n+1)1/2=1/2n2+1/2n,时间复杂度为O(n2)。算法三的基本操作数为12+22+32+n2=1/6n(n+1)(2n+1),时间复杂度为O(n3)。第8页/共20页试分析递归算法的时间复杂度intf(intx)if(x=2)return2;if(x2)return1;returnf(x-1)+f(x3);输入n计算f(n)第9页/共20页试分析递归算法的时间复杂度设计算f(n)的基本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 分析 枚举 策略

限制150内