五种典型的递推关系

1. Fibonacci数列(斐波那契数列):

有雌雄一对兔子,假定过两个月便可繁殖雌雄各一的一对小兔子。问过n个月后共有多少对兔子?

        解:设满x个月共有兔子Fx对,其中每月新生的兔子数目为Nx对。第x-1个月留下的兔子数目设为Fx-1对。则:

        Fx=Nx+Fx-1

            Nx=Fx-2        即第x-2个月的所有兔子到第x个月都有繁殖能力了

        ∴  FxFx-1Fx-2           边界条件:F00F11

由上面的递推关系可依次得到:

F2=F1+F0=1,F3=F2+F1=2,

F4=F3+F2=3,F5=F4+F3=5…

2. Hanoi塔问题(汉诺塔问题):

Hanoi塔由n个大小不同的圆盘和三根木柱a、b、c组成。开始时,这n个圆盘由大到小依次套在a柱上,如图3-11所示。

要求把a柱上的n个圆盘按下述规则移到c柱上:

(1)一次只能移一个圆盘。

(2)圆盘只能在三个柱上存放。

(3)在移动过程中,不允许大盘压小盘。

问将这n个盘子从a柱移动到c柱上,总计需要移动多少个盘次?

  解:设hn为n个盘子从a柱移到c柱所需移动的盘次。显然,当n=1时,只需把a 柱上的盘子直接移动到c柱就可以了,故h1=1。当n=2时,先将a柱上面的小盘子移动到b柱上去;然后将大盘子从a柱移到c 柱;最后,将b柱上的小盘子移到c柱上,共记3个盘次,故h2=3。以此类推,当a柱上有n(n≥2)个盘子时,总是先借助c柱把上面的n-1个盘子移动到b柱上,然后把a柱最下面的盘子移动到c柱上;再借助a柱把b柱上的n-1个盘子移动到c柱上;总共移动hn-1+1+hn-1个盘次。

   ∴ hn=2*hn-1+1        边界条件:h1=1

3. 平面分割问题:

设有n条封闭曲线画在平面上,而任何两条封闭曲线恰好相交于两点,且任何三条封闭曲线不相交于同一点,问这些封闭曲线把平面分割成的区域个数。

解:设an为n条封闭曲线把平面分割成的区域个数。 由图3-13可以看出:a2-a1=2;a3-a2=4;a4-a3=6。

从这些式子中可以看出an-an-1=2(n-1)。

当平面上已有n-1条曲线将平面分割成an-1­个区域后,第n-1条曲线每与曲线相交一次,就会增加一个区域,因为平面上已有了n-1条封闭曲线,且第n条曲线与已有的每一条闭曲线恰好相交于两点,且不会与任两条曲线交于同一点,故平面上一共增加2(n-1)个区域,加上已有的an-1个区域,一共有an-1+2(n-1)个区域。

递推关系:an=an-1+2(n-1),边界条件:a1=1

4. Catalan数(卡特兰数):

在一个凸n边形中,通过不相交于n边形内部的对角线,把n边形拆分成若干三角形,不同的拆分数目用hn表示,hn即为Catalan数。例如五边形有如下五种拆分方案(图3-14),故h5=5。求对于一个任意的凸n边形相应的hn。

解:设Cn表示凸n边形的拆分方法总数。由题目中的要求可知,一个凸边形的任意一条边都必然是一个三角形的一条边,边P1 Pn也不例外,再根据“不在同一线上的三点可以确定是一个三角形”,只要再P2,P3,…,Pn-1点中找到一个点Pk(1<k<n),与P1、Pn共同构成一个三角形的三个顶点,就将n边形分成了三个不相交的部分(如图3-15所示),我们分别称之为区域①、区域②、区域③,其中区域③必定是一个三角形,区域①是一个凸k边形,区域②是一个凸n-k+1边形,区域①的拆分方案总数是Ck,区域②的拆分方案数为Cn-k+1,故包含△P1 Pk Pn的n边形的拆分方案数为Ck Cn-k+1种,而Pk可以是P1,P2,…,Pn-1中任一点,根据加法原理,凸n边形的三角拆分总数\sum _{i=2}^{n-1}Ci Cn-i+1,同时考虑到计算的方便,约定边界条件为C2=1。

5. 第二类Stirling数:

【定义】 n个有区别的球放到m个相同的盒子中,要求无一空盒,其不同的方案数用S(n,m)表示,称为第二类Stirling数。

下面就让我们根据定义来推导带两个参数的递推关系 —— 第二类Stirling数。

解:设有n个不同的球,分别用b1,b2,……bn表示。从中取出一个球bn,bn的放法有以下两种:

①bn独自占一个盒子;那么剩下的球只能放在m-1个盒子中,方案数为S2(n-1,m-1);

②bn与别的球共占一个盒子;那么可以事先将b1,b2,……bn-1这n-1个球放入m个盒子中,然后再将球bn可以放入其中一个盒子中,方案数为mS2(n-1,m)。

综合以上两种情况,得出第二类Stirling数定理:

S2(n,m)=mS2(n-1,m)+S2(n-1,m-1)   (n>1,m≥1)

边界条件可以由定义2推导出:

S2(n,0)=0;S2(n,1)=1;S2(n,n)=1;S2(n,k)=0(k>n)。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值