- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 递推式的建立及其求解方法 山东师大附中 赵宗昌 一、递推式的建立 1、Hanoi塔问题 问题Ⅰ: 三柱问题 问题Ⅱ:四柱问题 问题Ⅲ:m柱问题 2、平面分割问题 问题Ⅰ:封闭曲线分割平面 问题Ⅱ:‘Z’分割平面 问题Ⅲ:‘M’分割平面 3、Catalan数 问题一:凸n边形的三角形剖分 问题二:二叉树数目 问题三:出栈序列 4、第二类Stirling数 问题一:放置小球 问题二:集合划分问题 5、其他 问题一:集合取数问题 问题二:整数划分问题 二、递推式的求解方法: 1. 递归函数 2.用数组实现 3.求递推式的通项表达式: 3.1、迭加法 3.2、待定系数法 3.3、特征方程法 3.4、生成函数法 一、递推式的建立 1、Hanoi塔问题 问题的提出:Hanoi塔由n个大小不同的圆盘和m根木柱1,2,3…….m组成。开始时,这n个圆盘由大到小依次套在1柱上,如图所示。 现在要求把1柱上n个圆盘按下述规则移到m柱上: (1) 一次只能移一个圆盘; (2) 圆盘只能在m个柱上存放; (3) 在移动过程中,不允许大盘压小盘。 求将这n个盘子从1柱移动到m柱上所需要移动盘子的最少次数 。 问题Ⅰ:三柱问题 设f(n)为n 个盘子从1柱移到3柱所需移动的最少盘次。当n=1时,f(1)=1。 当n=2时,f(2)=3。 以此类推,当1柱上有n(n2)个盘子时,我们可以利用下列步骤: 第一步:先借助3柱把1柱上面的n-1个盘子移动到2柱上,所需的移 动次数为f(n-1)。 第二步:然后再把1柱最下面的一个盘子移动到3柱上,只需要1次 盘子。 第三步:再借助1柱把2柱上的n-1个盘子移动到3上,所需的移动次 数为f(n-1)。 由以上3步得出总共移动盘子的次数为:f(n-1)+1+ f(n-1)。 所以:f(n)=2 f(n-1)+1 f(n)= 2n-1 问题Ⅱ:四柱问题 【问题分析】: 令f[i]表示四个柱子时,把i个盘子从原柱移动到目标柱所需的最少移动次数。 j 第一步:先把1柱上的前j个盘子移动到另外其中一个非目标柱(2或3柱均可,假设移到2柱)上,此时3和4柱可以作为中间柱。移动次数为:f[j]。 第二步:再把原1柱上剩下的i-j个盘子在3根柱子(1、3、4)之间移动,最后移动到目标柱4上,因为此时2柱不能作为中间柱子使用,根据三柱问题可知,移动次数为:2^(i-j)-1。 第三步:最后把非目标柱2柱上的j个盘子移动到目标柱上,次数为:f[j]。 通过以上步骤我们可以初步得出: f[i] = 2*f[j]+2^(i-j)-1 j可取的范围是1=jI,所以对于不同的j,得到的f[i]可能是不同的,本题要求最少的移动次数 f[i] = min{2*f[j]+2^(i-j)-1},其中1=jI const MaxNum = 1000; var n : integer; F3, F4 : array[1..MaxNum] of double; procedure Init; var i : integer; begin fillChar(F3,sizeOf(F3),0); fillChar(F4,sizeOf(F4),0); readln(n); F3[1] := 1; F4[1] := 1; {*F3[n] 为Hanoi塔中3根柱子,n个盘子的最少移动次数 F3[n] = 2^n -1; F4[n] 为Hanoi塔中4根柱子,n个盘子的最少移动次数*} for i :=2 to n do F3[i] := 2*F3[i-1] + 1; end; procedure Run; var i, j : integer; minF4i,temp : double; begin for i := 2 to n do begin minF4i :=1e+100; for j := 1 to i-1 do begin temp := 2*F4[j] + F3[i-j
您可能关注的文档
- 1-大麦籽粒蛋白质及其组分含量的遗传研究.pdf
- 02实验二酶的底物专一性.2010.11.15.1255.ppt
- 8fb6中提取多酚、黄酮和多糖的优化试验.pdf
- 17荧光法研究稀土与血清白蛋白相互作用的进展_吴锦绣.pdf
- 60Coγ辐照对普洱茶杀菌效果及其品质的影响.pdf
- 123.2008.12.军医进修学院学报.25例横纹肌溶解症的临床特点分析.pdf
- 2007-致密气藏开发过程水相圈闭损害机理及防治研究进展.pdf
- Ⅱ型轨道板混凝土用聚羧酸减水剂的研究.pdf
- ABR处理高氨氮和高有机物浓度污水的启动研究.pdf
- ACR加工助剂的性能研究.pdf
- 2022年11月连江县直机关遴选公务员面试真题带答案详解.docx
- 2022年11月遵义市直遴选面试真题回忆版.docx
- 2022年2月伊春市税务系统遴选面试真题回忆版.docx
- 2022年11月朔州市税务系统遴选面试真题回忆版汇总.docx
- 2022年2月秦皇岛市税务系统遴选面试真题回忆版汇总.docx
- 2022年2月焦作市直机关遴选公务员面试真题附详解.docx
- 2022年11月黑龙江省直机关遴选公务员面试真题附详细解析.docx
- 2022年2月潍坊市直机关遴选公务员面试真题附解析.docx
- 2022年2月大同市直遴选面试真题附详解.docx
- 2022年2月巴音郭楞蒙古自治州直机关遴选公务员面试真题带题目详解.docx
文档评论(0)