算法设计与分析382.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文档。上传文档
查看更多
算法设计与分析382.ppt

例题2.21[Matrix Addition] * fhfh Step table for Program 2.19 * fhfh 例题2.22[Sequential Search] Program 2.1 Sequential search * fhfh Step table for Pro2.1—best-case * fhfh Step table for Pro2.1—worst-case * fhfh 例题2.2(续) T a[] 和T x需2 bytes 指针(假定T为整型) 形参 n 需2 bytes i 需2 bytes 以上均为实例特征独立的空间需求量 所以s(n)=0 注:上述分析是从程序调用的角度看,存放无序表的数组占用的空间记在上层程序的帐上. * fhfh 例题2.3 Program Program 1.8 Add a[0:n-1] 实例特征:n,S(n)=0 * fhfh 例题2.4 Program 1.9 Recursive code to add a[0:n-1] 实例特征:n ,递归栈需6 bytes S(n)=6(n+1)bytes * fhfh 例题2.5 Program 1.7 Recursive function to compute n! 实例特征:n, S(n)= 4*max{n,1} * fhfh 小结 对非递归算法 分析与实例特征有关的数据结构的大小 对递归算法 还要分析递归调用的深度和实例特征的关系 * fhfh 2.3 时间复杂度(time complexity)T(n) 时间复杂度指程序执行时所用的时间。 在使用解析方法时程序p的时间复杂度表示为输入量的函数T。 机器独立的分析方法-解析的方法. 在解析地分析时间复杂度时,使用以下两种时间单位并计算: 操作计数(operation count):算法的基本操作 (程序)步计数(step count):分析全部程序 要点:基本操作或程序步的执行时间必须是常数。 * fhfh 2.3.2 操作计数 Program 1.31 Finding the largest elements 如果包含其他operations,则时间复杂度某常数*t(n)。 实例特征 : n , operation: comparison t(n)=n-1 且不可少于n-1 例题2.7 Max Element * fhfh 例题2.8 [Polynomial Evaluation] Program 2.3 A function to evaluate a polynomial 实例特征 : n , operation: multiplication, t(n)=2n * fhfh 例题2.8 [Polynomial Evaluation] Program 2.4 Horners rule for polynomial evaluation Horner’s rule: t(n)=n * fhfh 例题2.9 [Ranking] Program 2.5 Computing ranks Instance size : n , operation: comparison, t(n)=n*(n-1)/2 * fhfh 例题2.9(续) 例如a=[4,3,9,3,7] 则r=[2,0,4,1,3] 又如a=[9,3,9,3,7]则r=[3,0,4,1,2] a中两个3有不同的rank值。 每个元素有不同的rank值; rank取值于{0,1,2,...,n-1}. 如果r[i]r[j],则a[i]≤a[j] 上述关系可用于排序:rank值等于该元素在排序序列中的位置,按rank值将这些元素放到数组的相应位置. * fhfh 例题2.10 [Rank Sort] Program 2.6 Rearranging using an additional array 该题调用程序2.5,r[i]=rank of a[i] 实例特征 : n , operation: element move(即赋值), t(n)=2n * fhfh 例题2.11 [Selection Sort] Program 2.7 Selection sort The number of element move is 3(n-1). Instance size : n , operation: comparison , t(n)=n*(n-1)/2 * fhfh 最好,最坏和平均情形时间复杂度 当长度相同的不同输入有不同的计算时间时,时间复杂度分析分别考虑三种情形:即最好,最坏和平均. 当应用对计算时间有严格要求时,应做最坏情形

文档评论(0)

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

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

1亿VIP精品文档

相关文档