8递归方程组解的渐进阶的求法——迭代法.docVIP

8递归方程组解的渐进阶的求法——迭代法.doc

  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文档。上传文档
查看更多
8递归方程组解的渐进阶的求法——迭代法

递归方程组解的渐进阶的求法——迭代法 用这个方法估计递归方程解的渐近阶不要求推测解的渐近表达式,但要求较多的代数运算。方法的思想是迭代地展开递归方程的右端,使之成为一个非递归的和式,然后通过对和式的估计来达到对方程左端即方程的解的估计。 作为一个例子,考虑递归方程: 接连迭代二次可将右端项展开为: 由于对地板函数有恒等式: (6.10)式可化简为: 这仍然是一个递归方程,右端项还应该继续展开。容易看出,迭代 i 次后,将有 (6.11) 而且当 时,(6.11)不再是递归方程。这时: (6.13) 又因为[a]≤a,由(6.13)可得: 而由(6.12),知i≤log4n ,从而 , 代人(6.14)得: 即方程(6.9)的解? T(n)=O(n)。 从这个例子可见迭代法导致繁杂的代数运算。但认真观察一下,要点在于确定达到初始条件的迭代次数和抓住每次迭代产生出来的自由项(与T无关的项)遵循的规律。顺便指出,迭代法的前几步迭代的结果常常能启发我们给出递归方程解的渐近阶的正确推测。这时若换用代入法,将可免去上述繁杂的代数运算。 图6-1 与方程(6.15)相应的递归树 为了使迭代法的步骤直观简明、图表化,我们引入递归树。靠着递归树,人们可以很快地得到递归方程解的渐近阶。它对描述分治算法的递归方程特别有效。我们以递归方程 T(n)=2T(n/2)+n2 (6.15) 为例加以说明。图6-1展示出(6.15)在迭代过程中递归树的演变。为了方便,我们假设n恰好是2的幂。在这里,递归树是一棵二叉树,因为(6.15)右端的递归项2T(n/2)可看成T(n/2)+T(n/2)。图6-1(a)表示T(n)集中在递归树的根处,(b)表示T(n)已按(6.15)展开。也就是将组成它的自由项n2留在原处,而将2个递归项T(n/2)分别摊给它的2个儿子结点。(c)表示迭代被执行一次。图6-1(d)展示出迭代的最终结果。 图6-1中的每一棵递归树的所有结点的值之和都等于T(n)。特别,已不含递归项的递归树(d)中所有结点的值之和亦然。我们的目的是估计这个和T(n)。我们看到有一个表格化的办法:先按横向求出每层结点的值之和,并记录在各相应层右端顶格处,然后从根到叶逐层地将顶格处的结果加起来便是我们要求的结果。照此,我们得到(6.15)解的渐近阶为θ(n2)。 再举一个例子。递归方程: T(n)= T(n/3)+ T(2n/3)+n (6.16) 的迭代过程相应的递归树如图6-2所示。其中,为了简明,再一次略去地板函数和天花板函数。 图6-2迭代法解(6.16)的递归树 当我们累计递归树各层的值时,得到每一层的和都等于n,从根到叶的最长路径是 设最长路径的长度为k,则应该有 , 得 , 于是 即T(n)=O(nlogn) 。 以上两个例子表明,借助于递归树,迭代法变得十分简单易行。

文档评论(0)

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

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

1亿VIP精品文档

相关文档