第7章 递推关系与生成函数.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 递推关系和生成函数 7.1 一些数列 算术序列(等差数列) 几何序列(等比数列) 例1:确定平面一般位置上的n个互相交叠的圆所形成的区域数。 例2 (Fibonacci问题): Fibonacci数列是递推关系的又一典型问题, 数列的本身有着许多应用. (1) 问题的提出:假定初生的一对雌雄兔子, 从出生的第2个月之后每个月都可以生出另外一对雌雄兔. 如果第1个月只有一对初生的雌雄兔子, 问n个月之后共有多少对兔子? (2) 求递推关系: 设满n个月时兔子对数为Fn,则第n-1个月留下的兔子数目为Fn-1对;当月新生兔数目为Fn-2对, 即第n-2个月的所有兔子到第n个月都有繁殖能力 ? Fn= Fn-1+ Fn-2, F1 =F2=1 (7.1) 由递推关系(7.1)式可依次得到 F3= F1+F2=2, F4= F2+F3=3, F5= F3+ F4=3+2=5, ? 前几项为:0,1,1,2,3,5,8,13,21,34,55,89,144,233,… (3) Fibonacci数列的性质 部分和Sn=f0+f1+f2+…+fn=fn+2-1 Fibonacci数列是偶数当且仅当n能被3整除 Fibonacci数列满足公式 例3:令g0,g1,g2,…,gn,…是满足下面给出的Fibonacci数列递推关系和初始条件:gn=gn-1+gn-2 (n≥2) g0=2,g1=-1 例4:确定2Xn棋盘用多米诺骨牌完美覆盖的方法数hn。 例5:确定用单牌和多米诺骨牌对1Xn棋盘完美覆盖的方法数bn。 定理7.1.2 沿Pascal三角形左下到右上对角线上的二项式系数的和是Fibonacci数 7.2 线性齐次递推关系 数列h0,h1,h2,…,hn,… hn=a1hn-1+a2hn-2+…+akhn-k+bn (n≥k) 错排数列Dn=(n-1)(Dn-2+Dn-1) (n ≥2) Dn=nDn-1+(-1)n (n ≥1) Fibonacci数列 Fn= Fn-1+ Fn-2 (n ≥2) 阶乘序列hn=nhn-1 (n ≥1) 几何序列hn=qhn-1 (n ≥1) hn=a1hn-1+a2hn-2+…+akhn-k (n≥k) 其中a1,a2,…,ak 是常系数,称为常系数线性齐次递推关系。 定理7.2.1 令q为一非零数。则hn=qn是hn-a1hn-1-a2hn-2-…-akhn-k =0(ak≠0,n≥k) 的解,当且仅当q是多项式方程xk-a1xk-1-a2xk-2-…-ak=0的一个根。如果多项式方程有k个不同的根q1,q2,…,qk,则hn=c1q1n+c2q2n+…+ckqkn 例6:求满足初始值h0=1,h1=2,h2=0的递推关系hn=2hn-1+hn-2-2hn-3 (n≥3)的解 例7:只由三个字母a,b,c组成的长度为n的一些单词将在通信信道上传输,满足条件:传输中不得有两个a连续出现在任一单词中。确定通信信道允许传输的单词个数。 例8:递推关系hn=4hn-1-4hn-2 (n≥2)的解 定理7.2.2 令q1,q2,…,qt为hn=a1hn-1+a2hn-2+…+akhn-k (ak≠0,n≥k) 的特征方程的互异的根。此时,如果qi是si重根,则对qi部分一般解为Hn(i)=(c1+c2n+…+csinsi-1)qin 7.3 非齐次递推关系 例9 (Hanoi塔问题):n个圆盘依其半径大小, 从下而上套在柱A上, 如图3.1所示. 每次只允许取一个转移到柱B或C上, 而且不允许大盘放在小盘上方. 若要求把A上的n个盘转移到C柱上. 请设计一种方法, 并估计要移动几个盘次. 现在只有A, B, C三根柱子可供使用. Hanoi塔是个经典问题. 对于这个问题, 我们先要设计算法, 进而估计算法的计算复杂性, 这里就是移动的总次数. (1) 算法设计: n=2时, 圆盘1从A套在B上;把圆盘2从A转移到C上;把圆盘1从B上转移到C上. 完毕. n=3时, 把圆盘1从A转移到C上;把圆盘2从A转移到B上;把圆盘1从C上转移到B上; 把圆盘3从A套在C上; 把圆盘1从B再转移到A上; 把圆盘2从B转移到C上, 把圆盘1从A套在C上. 完毕. 看看n=3的演示过程. 假定n-1个盘子的转移算法已经确定. 对n个圆盘问题, 先把上面的圆盘1,2,…, n-1转移到B上, 再把最后一个盘子转移到C上, 然后把B上的n-1个圆盘转移到柱C上. 转移完毕. 这运用的是递归算法n=2时给出了算法; n=3时先利用n=2时的算法把圆盘1, 2移B上; 再把圆盘3转移到柱C上;再利用n=2时的算法把B上两个圆盘转移到柱C上. n=4,5,?以此类推.

文档评论(0)

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

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

1亿VIP精品文档

相关文档