算法导论第四章.doc

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法导论第四章

算法导论第四章 摘自:百度文库/link?url=QunHIQ6sgLN_uMads3Llc8mtkAKSkrn4OI9SuM_g3Tj_0a5N2fkRVV03F9-iiPOgdcm7zAj54KToWqfeFvNffHr-WaJpeqXzWkDRzewxuhm /tanky-woo/archive/2011/04/12/144020.html 这一章讲的是递归式(recurrence),递归式是一组等式或不等式,它所描述的函数是用在更小的输入下该函数的值来定义的。 本章讲了三种方法来解递归式,分别是代换法,递归树方法,主方法。 1.代换法(Substitution method)(P38~P40) 定义:即在归纳假设时,用所猜测的值去代替函数的解。 用途:确定一个递归式的上界或下界。 缺点:只能用于解的形式很容易猜的情形。 总结:这种方法需要经验的积累,可以通过转换为先前见过的类似递归式来求解。 2.递归树方法(Recursion-tree method) 起因:代换法有时很难得到一个正确的好的猜测值。 用途:画出一个递归树是一种得到好猜测的直接方法。 分析(重点):在递归树中,每一个结点都代表递归函数调用集合中一个子问题的代价。将递归树中每一层内的代价相加得到一个每层代价的集合,再将每层的代价相加得到递归式所有层次的总代价。 总结:递归树最适合用来产生好的猜测,然后用代换法加以验证。 递归树扩展过程:①.第二章2.3.2节分析分治法时图2-5(P21~P22)的构造递归树过程;②.第四章P41图4-1的递归树构造过程;这两个图需要好好分析。 3.主方法(Master method) 优点:针对形如T(n) = aT(n/b) + f(n)的递归式 缺点:并不能解所有形如上式的递归式的解。 具体分析: T(n) = aT(n/b) + f(n)描述了将规模为n的问题划分为a个子问题的算法的运行时间,每个子问题的规模为n/b。 在这里可以看到,分治法就相当于a=2, b=2, f(n) = O(n). 主方法依赖于主定理:(图片点击放大) 图片可以不清晰,可以看书。 主定理的三种情况,经过分析,可以发现都是把f(n)与 比较。 第一种情况是 更大,第二种情况是 与f(n)相等,第三种情况是f(n)更大。 但是,这三种情况并未完全覆盖所有可能的f(n): 第一种情况是f(n)多项式的小于 ,而第三种情况是f(n)多项式的大于 ,即两者相差的是 。如果两者相差的不是 ,则无法用主定理来确定界。 比如算法导论P44最下面的 就不能用主定理来判断。 至于主定理的证明,有兴趣的可以拿笔在纸上推算,反正我这里是没看的,毕竟时间有限,要选择性的学习。

文档评论(0)

liudao + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档