算法分析(2.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文档。上传文档
查看更多
算法分析(2

Analysis of Algorithms2 Pseudocode 伪代码 Solving Recurrences解递归 While-循环最坏情形Θj. While-循环平均情形Θj/2,当插入位置有相同概率时. Pseudocode-Insertion Sort “←”表示”赋值“assignment. 忽略数据类型、变量的说明等与算法无关的部分. 允许使用自然语言表示的一些 “macros”. 伪代码突出了程序使用的算法. Example of insertion sort 插入排序Insertion sort分析 最优二叉树optimized binary tree for m ←2 to nΘ1 dofor i ←0 to n-mΘ1doj ← i + mΘ1wi, j ←wi, j-1 + Pi + QjΘ1ci, j←minil?j ci, l-1 + c l, j + wi, jWn,n,Pn,Qn,cn,n 是算法使用的数组,假定已初始化. Optimized binary tree minil?j ci, l-1 + c l, j :Θj-iΘmInner for-loop:Θmn-m; Total :Θ∑2≤m≤nmn-mΘn3 解递归 Solving Recurrences-1Recursion tree2Substitution method Merge-Sort Merging two sorted arrays Merge-Sort Analysis Recurrence for merge sort 隐含假定n2h. 以cn代替Θn,不影响渐近分析的结果. “If n1”,更一般的是“if nn0, TnΘ1”:指:可找到足够大常数c1,使得Tnc1 if nn0. Recursion tree 解Tn 2Tn/2 + cn, 其中 c 0 为常数. 递归展开到Tn0,会导致推导的麻烦.所以展开到T1.然后再从前n0个Tn的值确定渐近分析的常数. Recursion tree Solve Tn 2Tn/2 + cn, where c 0 is constant. Recursion tree Solve Tn 2Tn/2 + cn, where c 0 is constant. Recursion tree 递归树等价于迭代展开 Tn4Tn/2+n44Tn/22+n/2+n42Tn/22+n+2n43Tn/23+n+2n+22n4hTn/2h+n1+2+┅+2h-1n2T1+n2h-1Θn2 很多递归式用递归树解不出来,但递归树能提供直觉,帮助我们用归纳法求解Guess 归纳假设. Conclusions Θn lg n比Θn2增长的慢. 所以,merge sort 渐近asymptotically优于插入排序. 实际上, merge sort 优于 insertion sort 仅当 n 30 or so. 1000*nlogn算法当n比较小时未必比n2算法要快. n足够大时前者才能看出优势. 当n≠2h 2h≤n2h+1nΘ2h, hΘlogn T2h≤ Tn ≤ T2h+1. 所以,Θh2h≤Tn≤Θh+12h+1 Θh+12h+1Θh2h+1+2h+1Θh2h+1Θh2h 所以TnΘh2hΘnlogn 较一般的递归式 较一般的递归:TnaTn/b+cn, a,b是大于1的整数,递归树方法仍可使用. 首先考虑nbh情形:TnahT1+cn1+a/b+┅+a/bh-1ahT1+cbh1+a/b+┅+a/bh-1 当bh≤nbh+1 , 仍有:hΘlogbn 换底公式: logbnlog2n/log2b hΘlogn Substitution methods The most general method: 1. Guess the form of the solution. 2. Verify by induction. 3. Solve for constants. Example1 T n 4T n/2 + n (n2h) [Assume that T 1Θ1.] Guess On3 :归纳假定为T n≤cn3. c是待定常数. 应用假定有:T k ≤ck3 for k n . 归纳证明: T n ≤ cn3 并确定常数c. Examplecontinued Tn4Tn/2+n≤4cn/23+nc/2n3+ncn3-c/2n3-n≤cn3取 c≥2 and n≥1,不等式c/2n3–n≥0成立,Examplecontinued 还要检验初始条件是否满足归纳假设. 初始条件为:TnΘ1,当 nn0 ,n0为常数. 因为有

文档评论(0)

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

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

1亿VIP精品文档

相关文档