- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2时间复杂度的算法
递归方程: 递归方程组解的渐进阶的求法——母函数法 设关于T(n)的递归方程的解的母函数为: (1)-(2)-(3)得 (1) (2) (3) 根据G(x)的形式: 有T(n)=a2-b2 作业 1 分析算法的时间复杂性 int Horner(int coeff[], int n, const int x) {//计算n次多项式的值,coeff [ 0:n ]为多项式的系数 int value= coeff [ n ] for ( int i = 1; i = n; i++) value = value * x + coeff [ n-i ] return value } 2、有三个矩阵A , B ,C ,它们的阶分别为3×2 、 2×6、 6×1,要求计算3个矩阵的连乘:A× B × C。 a ) 统计乘法运算的次数 b ) 最少需要做几次乘法? 3、分析折半查找(二分检索)的最坏情况下的时间复杂性,证明其达到了问题复杂度的下界。 证明下列运算规则 Ο(f)+ Ο(g)=Ο(f +g); Ο(f)·Ο(g)= Ο(f·g); 如果g(N)= Ο(f(N)),则Ο(f)+ Ο(g)= Ο(f); Ο(Cf(N))= Ο(f(N)),其中C是一个正的常数; 2. 算法的时间复杂性分析基础 2.1影响问题求解时间的因素 A:算法 n:问题的规模 I :输入数据 复杂性的形式化表示T(A,n,I) 对于特定算法,时间复杂性为: T(n,I) 2.1时间复杂性函数 T(N,I) 是算法在一台抽象的计算机上运行所需的时间。设此抽象的计算机所提供的元运算有k种,他们分别记为O1,O2 ,..,Ok;设这些元运算每执行一次所需要的时间分别为t1,t2,..,tk 。 对于给定的算法A,用到元运算Oi的次数为ei,i=1,2,..,k ,很明显,对于每一个i, ei是n与I的函数,即ei=ei(n,I)。那么有: 其中ti,i=1,2,..,k,是与N,I无关的常数。 先看一个实例: 改进冒泡如排序算法的基本步骤如下: for i ←1 to n-1 do {flag ←1 for j ←1 to n-i do if a[j]a[j+1] then {交换a[j]、a[j+1] flag ←0 /*发生了交换*/ } if flag then beak /* 没有交换,排序结束*/ } enddo 如果将if a[j]a[j+1] then {….. }当做一个元运算,花的时间为C 当输入的数据已经排好序,做了n-1次元运算; 当输入的数据是增序,则需要做n(n-1)/2次元运算。 显然,不可能对规模n的每一种合法的输入I都去统计ei(n,I),i=1,2,…,k。因此T(n,I)的表达式还得进一步简化。 只能在规模为n的某些或某类有代表性的合法输入中统计相应的ei , i=1,2,…,k,评价时间复杂性。 一般只考虑三种情况下的时间复杂性,即最坏情况、最好情况与平均情况下的时间复杂性,井分别记为: W(n) = max{ T(n,I) } , I∈Dn B(n) = min { T(n,I) }, I∈Dn A(n)=∑P( I )T(n,I) I∈Dn Dn是规模为n的合法输入的集合,P(I)是在算法的应用中 出现输入I 的概率。 最具有可操作性和实际价值的是最坏情况下的时间复杂 性。我们对算法的时间复杂性分析的兴趣主要将放在W(n) 上。没有特殊说明时,T(n)一般指的就是W(n)。 对于同一类问题,采用这类算法的基本运算次数作为算法的运算时间。 例如: “汉诺塔”算法的基本运算是圆盘的移动; 比较排序算法,用算法所用的比较次数作为该类算法的 运算时间; 矩阵相乘:基本运算是两个数的相乘; 树的有哪些信誉好的足球投注网站:基本运算是节点的访问; 图的算法:节点与边的运算。 2.2.1算法时间复杂性计量 2.2.2 时间复杂性的计算规则 分析时间复杂性渐近阶的8条规则 : 规则1: 赋值、比较、算术运算、逻辑运算、读写单个常量或单个变量等,只需要1个单位时间。 规则2 条件语句if C then S1 else S2需要Tc+max(Ts1,Ts2)的时间,其中Tc是计算条件表达式C需要的时间,而Ts1与T
您可能关注的文档
最近下载
- DB46_T 554-2021 油棕组培苗繁育技术规程.docx VIP
- 新高考必背文言文原文及译文.doc VIP
- 合成氨主要设备构造及设备一览表.pdf VIP
- 更换10kV及以下线路导线标准作业流程.pdf VIP
- 现代卫星通信系统工程建设概预算与设计施工技及技术标准规范实用手册.doc VIP
- 乐学英语口语教程(第二版)Unit 6 PPT课件.pptx VIP
- 剪映电脑版使用教程(超详细).docx VIP
- 智能图像处理:Python和OpenCV实现 课件 第二章 数字图像的获取和基本运算.pptx
- AnyBackup CDM 7 型号和功能列表.docx VIP
- 新人教版(2022新课标)物理八年级上册课件 3.1 温度.pptx VIP
文档评论(0)