递归与母函数精选文档.ppt
《递归与母函数精选文档.ppt》由会员分享,可在线阅读,更多相关《递归与母函数精选文档.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、递归与母函数本讲稿第一页,共五十三页母函数与递推关系母函数与递推关系v递推关系是计数的一个强有力的工具,特别是在做算法分析时是必需的。递推关系的求解主要是利用母函数。当然母函数尚有其他用处,但这主要是介绍解递推关系上的应用。例如本讲稿第二页,共五十三页母函数vx2项的系数项的系数a1a2+a1a3+an-1an 中所有的项包括中所有的项包括n个元素个元素a1,a2,an中取中取两个两个组合的全体;同理项系数包含了从组合的全体;同理项系数包含了从n个元素个元素a1,a2,an 中取中取3个元素组合的全体。以此类推。个元素组合的全体。以此类推。v若令若令a1=a2=an=1 1,在,在 x2项系数
2、项系数a1a2+a1a3+an-1an中中每一个组合有每一个组合有1 1个贡献,其他各项以此类推。故有:个贡献,其他各项以此类推。故有:本讲稿第三页,共五十三页母函数比较等号两端项对应系数,可得一等式比较等号两端项对应系数,可得一等式本讲稿第四页,共五十三页相关公式令令r=n,则,则,对原方程等号的两端对对原方程等号的两端对x求导可得:求导可得:本讲稿第五页,共五十三页若已知序列 则对应的母函数G(x)便可根据定义给出。反之,如若以求得序列的母函数G(x),则该序列也随之确定。例如 是序列 的母函数。母函数母函数称函数G(x)是序列 的母函数 定义:定义:对于序列 构造一函数:序列可记为本讲稿
3、第六页,共五十三页递推关系递推关系v利用递推关系进行计数这个方法在算法分析中经常用到,举例说明如下:v例一.Hanoi问题:这是个组合数学中的著名问题。N个圆盘依其半径大小,从下而上套在A柱上,如下图示。每次只允许取一个移到柱B或C上,而且不允许大盘放在小盘上方。若要求把柱A上的n个盘移到C柱上请设计一种方法来,并估计要移动几个盘次。现在只有A、B、C三根柱子可用。A B C本讲稿第七页,共五十三页递推关系递推关系v 对于一般n个圆盘的问题,v 假定n-1个盘子的转移算法已经确定。v 先把上面的n-1个圆盘经过C转移到B。v 第二步把A下面一个圆盘移到C上v 最后再把B上的n-1个圆盘经过A转
4、移到C上A B C本讲稿第八页,共五十三页递推关系递推关系算法分析:算法分析:令h(n)表示n个圆盘所需要的转移盘次。根据算法先把前面n-1个盘子转移到B上;然后把第n个盘子转到C上;最后再一次将B上的n-1个盘子转移到C上。n=2时,算法是对的,因此,n=3是算法是对的。以此类推。于是有本讲稿第九页,共五十三页 例例2.求求n位十进制数中出现偶数个位十进制数中出现偶数个5的数的个数。的数的个数。先从分析n位十进制数出现偶数个5的数的结构入手 是n-1位十进制数,若含有偶数个5,则 取5以外的0,1,2,3,4,6,7,8,9九个数中的一个,若 只有奇数个5,则取 ,使 成为出现偶数个5的十进
5、制数。本讲稿第十页,共五十三页 解法解法1:令 位十进制数中出现5的数的个数,位十进制数中出现奇数个5的数 的个数。故有:本讲稿第十一页,共五十三页递推关系递推关系 解法二:解法二:n-1位的十进制数的全体共 从中去掉含有偶数个5的数,余下的便是n-1位中含有奇数个5的数。故有:本讲稿第十二页,共五十三页 例三:例三:从n个元素 中取r个进行允许重复的组合。假定允许重复的组合数用 表示,其结果可能有以下两种情况。递推关系递推关系 1 1)不出现某特定元素设为)不出现某特定元素设为 ,其组合数为,其组合数为 ,相当于排除,相当于排除 后从后从 中取中取r r个做允许重个做允许重复的组合。复的组合
6、。2)至少出现一个 ,取组合数为 相当于从 中取r-1个做允许重复的组合,然后再加上一个 得从n个元素中取r个允许重复的组合。本讲稿第十三页,共五十三页递推关系递推关系v依据加法原理,有本讲稿第十四页,共五十三页整数的拆分整数的拆分v所谓整数拆分即把整数分解成若干整数的和,所谓整数拆分即把整数分解成若干整数的和,相当于把相当于把n n个无区别的球放到个无区别的球放到n n个无标志的盒个无标志的盒子,盒子允许空着,也允许放多于一个球。整子,盒子允许空着,也允许放多于一个球。整数拆分成若干整数的和,办法不一,不同拆分数拆分成若干整数的和,办法不一,不同拆分法的总数叫做拆分数。法的总数叫做拆分数。本
7、讲稿第十五页,共五十三页问题举例问题举例 例例1 1:若有:若有1 1克、克、2 2克、克、3 3克、克、4 4克的砝码各一枚,问克的砝码各一枚,问能称出那几种重量?有几种可能方案?能称出那几种重量?有几种可能方案?本讲稿第十六页,共五十三页问题举例问题举例 从右端的母函数知可称出从1克到10克,系数便是方案数。例如右端有 项,即称出5克的方案有2同样,故称出6克的方案有2,称出10克的方案有1本讲稿第十七页,共五十三页问题举例问题举例 例例2:求用1分、2分、3分的邮票贴出不同数值的方案数。因邮票允许重复,故母函数为 以其中为例,其系数为4,即4拆分成1、2、3之和的拆分数为4,即本讲稿第十
8、八页,共五十三页问题举例问题举例例例3 3:若有:若有1 1克砝码克砝码3 3枚、枚、2 2克砝码克砝码4 4枚、枚、4 4克砝码克砝码2 2枚的砝码各一枚,问能称出枚的砝码各一枚,问能称出那几种重量?各有几种方案?那几种重量?各有几种方案?本讲稿第十九页,共五十三页问题举例问题举例 从母函数可以得知,用这些砝码可以称出从1克到63克的重量,而且办法都是唯一的。这问题可以推广到证明任一十进制数这问题可以推广到证明任一十进制数n,可,可表示为表示为而且是唯一的。而且是唯一的。本讲稿第二十页,共五十三页 如果如果 ,则是一般的排列问,则是一般的排列问题。题。设有设有n个元素,其中元素个元素,其中元
9、素 a1 重复了重复了n1次,元素次,元素a2 重复了重复了n2次,次,ak 重复了重复了nk 次,次,从中取从中取r个排列,求不同的排列数个排列,求不同的排列数.指数型母函数指数型母函数 现在由于出现重复,故不同的排列计数便比较复杂。先考虑现在由于出现重复,故不同的排列计数便比较复杂。先考虑 n个元素个元素的全排列,若的全排列,若n 个元素没有完全一样的元素,则应有个元素没有完全一样的元素,则应有n!种排列。若考种排列。若考虑虑ni 个元素个元素ai的全排列数为的全排列数为 ni!,则真正不同的排列数为,则真正不同的排列数为本讲稿第二十一页,共五十三页解的分析解的分析v先讨论一个具体问题:若
10、有先讨论一个具体问题:若有8 8个元素,其中设个元素,其中设a a1 1重复重复3 3次,次,a a2 2重复重复2 2次,次,a a3 3重复重复3 3次。从中取次。从中取r r个组合,其组合数为个组合,其组合数为c cr r ,则序列,则序列c c1 1,c,c2 2,c c3 3,c c4 4,c c5 5,c c6 6,c,c7 7,c c8 8的母函数为的母函数为:本讲稿第二十二页,共五十三页解的分析解的分析 从x4的系数可知,这8个元素中取4个组合,其组合数为10。这10个组合可从下面展开式中得到本讲稿第二十三页,共五十三页解的分析解的分析其中4次方项有表达了从8个元素(a1a3各
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 递归 函数 精选 文档
限制150内