算法2010与02-引论 .pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法2010与02-引论

联想 曙光 浪潮 特征方程、特征根 例2 特征方程的根为: 通解为: 由初始条件得到: 解:对应的特征方程为 特征方程、特征根 解得 因此 递归关系的求解-递推 例3 解: 第一章作业 1 利用生成函数法求Fibonacci序列的通项 2 P21 1.1 1) 3) 6) 9) 1.2 2) 5) 3 计算如下C语言描述的嵌套循环中laugh++语句的执行次数: for(i=1;i=n;i*=2) for(j=1;j=i;j++) laugh++ ; 实验1 多项式求值的算法设计、实现与复杂度分析 要求: 1)输入:输入一个多项式 ,系数及x的取值; 2)输出:多项式的值,计算所需的加法和乘法次数; 3)要求具有用户界面,通过用户界面输入及输出 4)语言C++,JAVA 5)提交实验报告+源程序(实验i+学号+姓名)到 ise_mabx@ujn.edu.cn 上机时间:3,5,7,9,11,13,15周二1-2节 ,661机房(暂定) 算法分析与设计引论(2) 1算法时间复杂度计算表示 2 算法终止性的证明方法 3递归关系式的求解 时间复杂度计算表示 假设f(n)为某算法的计算时间,n是问题的大小,g(n)是事先确定的简单函数,如:nm, 2n, n!。 定义1-1 如果存在两个正常数c和n0,对所有n≧n0,有 |f(n)|≦c|g(n)| 则记作:f(n)=O(g(n)), O为数量级(阶数), g(n)是计算时间f(n)的一个上界函数, f(n)的数量级是g(n) 。 定理1-1 若 是一个m次多项式,则 证明:(?) 说明:变量n的阶数为m的多项式与其最高阶同阶。 时间复杂度计算表示 定义1(2)(下界函数)如果存在两个正常数c和n0,对所有n≧n0,有 |f(n)|≧c|g(n)| 则记作:f(n)= (g(n)), g(n)是计算时间f(n)的一个下界函数。 定义1(3)(双界函数)如果存在两个正常数c1,c2和n0,对所有n≧n0,有 则: 说明: g(n)既是计算时间f(n)的一个下界函数也是一个上界函数。 时间复杂度计算表示 两个函数阶数的比较方法有如下结论: 假设 有下列情况: (1)如果L=a,a是有限正常数,则 ; (2)如果L=0,则 f(n)的阶数比g(n)低(); (3)如果 则f(n)的阶数比g(n)高(); 由此可以得到数量级的大小比较: (多项式时间算法与指数时间算法) 时间复杂度的几个相关问题 问题1 算法耗费的时间和语句频度 一个算法耗费的时间=算法中每条语句的执行时间之和 每条语句的执行时间=语句的执行次数(frequency count)×语句执行一次所需时间 算法转化为程序后,每条语句的执行时间取决于:机器的指令性能,速度以及编译所产生的代码质量等难以确定的因素 一般分析时是独立于机器的软硬件系统分析算法的复杂性,即设每条语句执行一次的时间均为单位时间 一个算法的时间耗费就是该算法中所有语句的频度和 例1-1 (矩阵乘法)求两个n阶方阵A,B的乘积C Void MatrixMultiply(int A[n][n], int B[n][n], int C[n][n]) {int i,j,k; For (i=0;in;i++) { for (j=0;jn;j++) C[i][j]=0; { for (k=0;kn;k++) C[i][j]=c[i][j]+A[i][k] ×B[k][j] } } } 其渐近时间复杂度: ,T(n)的数量级是n3,即T(n)=O(n3)。 频度:n+1,循环执行n次 n(n+1) n2 n2(n+1) n3 频度和=n+1+n(n+1)+n2+n2(n+1)+n3=2n3+3n2+2n+1=T(n) 问题2 用渐近时间复杂度评价算法的时间性能 例1-2 设有算法A1和A2求解同一问题,时间复杂度分别为

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档