- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
函数的递归调用与分治策略(Recursive call and divide and conquer strategy of function)
函数的递归调用与分治策略(Recursive call and divide and conquer strategy of function)
[代码]
/ / ex2.cpp
#包括 iostream。”
长斐波那契(int x)
{
如果((x = = 1)| |(X = = 2))
返回(1);
其他的
返回(Fibonacci(X-1)+斐波那契(x-2));
}
main() {
int n;
CIN;
cout endl斐波那契(N);
}
[ 3 ]河内塔问题例。
[问题描述]在霍比特人的圣庙里,有一块黄铜板,上面插着3根宝石针(分别为一号,B号和C号)。在一号针上从下到上套着从大到小的N个圆形金片。现要将一针上的金片全部移到C针上,且仍按照原来的顺序叠置。移动的规则如下:这些金片只能在3根针间移动,一次只能一片,且任何时候都不允许将较大的金片压在较小的上面。从键盘输入N,要求给出移动的次数和方案。
[分析]由金片的个数建立递归关系。当n = 1时,只要将唯一的金片从一移到C即可。当n>1时,只要把较小的(n-1)片按移动规则从一移到B,再将剩下的最大的从一移到C(即中间”借助“B把金片从一移到C),再将B上的(n-1)个金片按照规则从B移到C(中间”借助”)。
本题的特点在于不容易用数学语言写出具体的递归函数,但递归关系明显,仍可用递归方法求解。
[代码]
/ / ex3.cpp
#包括 iostream。”
河内(int n,char T1,char T2,char T3){
如果(n=1)
cout “1” T1 ” T3 endl;
其他的
{
河内(n-1,T1,T3,T2);
cout N ” T1 ” T3 endl;
河内(n-1,T2,T1,T3);
}
}
main() {
int n;
cout “请输入河内数字:“;
CIN;
cout “回答:“ endl;
河内(N,A,B,C);
}
函数递归调用的应用与分治策略
许多算法都采用了分治策略求解,而可以说分治与递归是一对孪生兄弟,它们经常同时被应用于算法的设计中。下面讨论著名的加泰罗尼亚数问题,人们在对它的研究中充分应用了分治策略。
[ 4 ]例加泰罗尼亚数问题。
[问题描述]一个凸多边形,通过不相交于N边形内部的对角线,剖分为若干个三角形。求不同的剖分方案总数H(N),H(n)即为加泰罗尼亚数。例如,n = 5时H(5)= 5。
[分析]加泰罗尼亚数问题有着明显的递归子问题特征。在计算加泰罗尼亚数时虽然可以推导出只关于N的一般公式,但在推导过程中却要用到递归公式。下面讨论三种不同的解法,其中第三种解法没有使用递归,它是由前两种解法推导而出的。
[ 1 ]解法对于多边形V1V2…VN,对角线v1vi(我= 3,4,…,n)将其分为两部分,一部分是我边形,另一部分是N-1个+ 1边形。因此,以对角线v1vi为一个剖分方案的剖分方案数为H(我)×H(n i + 1)。还有一种的特殊情形,是对角线v2vn将其分为一个三角形v1v2vn和一个N-2 + 1边形为了让它同样符合粗体字给出的公式,规定。H(2)= 1。于是得到公式:
h(n)=∑H(我)×H(n i + 1)(我= 2,3,…,n)----公式(1)
h(2)=1
有了这个递归关系式,就可以用递推法或递归法解出h(n)。
[ 2 ]解法从V1 V2和向除了VN外的n-3个顶点可作n-3条对角线。每一条对角线v1vi把多边形剖分成两部分,剖分方案数为H(我)×H(N I + 2),由于VI可以是v3v4…-1中的任一点可换成且V1,V2,
V3,... Any point in Vn has the same result. Taking into account that the same diagonal is repeated once at 2 vertices, the split scheme determined by vertices and diagonals is multiplied by 1/2, so there is
H (n), =n, sigma (1/2), H (I), *H (n-i+2) (i=3,4),... (n-1)
Mention (1/2) outside sigma,
H (n), =n/ (2* (n-3)), sigma H (I), *H (n-i+2) (i=3,4),... (n-1) - formula (2)
It is reasonable to specify H (2) =H (3) =1.
By formula (2) and H (2) =1, H (n) can also be solved
您可能关注的文档
- 丽江古城旅游文化的开发及保护问题探析管理(Exploration and management of tourism culture in Old Town of Lijiang).doc
- 久治不愈外感咳嗽的治疗探析(The treatment of exogenous cough treatment).doc
- 乐山小吃美食(Leshan snack food).doc
- 乐观情绪回归达沃斯(Optimism about the return of Davos).doc
- 乐无烟品类创新的胜利者(Winner of smoke free category innovation).doc
- 久石让简介(Hisaishi introduction).doc
- 乐斗全攻略整合(2011.7.8)(2011.7.8 strategy integration).doc
- 九上历史(Nine history).doc
- 九上英语同步答案(Nine answer the questions in English).doc
- 丽水学院岗位说明书(Lishui University job description).doc
- 函数yAsin(x+)的图象(The image of function yAsin (x+)).doc
- 刀剑神域SAO部分的时间表(Timeline of sword gods domain SAO).doc
- 列车调度问题(Train scheduling problem).doc
- 刀剑全攻略(Sword Raiders).doc
- 刘墉生平(Biography).doc
- 刘常凌追求导师级管理(Liu Changling the pursuit of mentor management).doc
- 冷静思考(Cool thinking).doc
- 刘强东从来没有供货商说被京东商城压榨(Liu Qiangdong never said the supplier was squeezed Jingdong mall).doc
- 刘德华成长过程(Andy Lau growth process).doc
- 刘德华经典歌词(Andy Lau classics lyrics).doc
最近下载
- 外研版(孙有中2024版)小学英语三年级上册U6 My sweet home Period1 Welcome to my home优质课比赛课件.ppt VIP
- 城市遥感知识学习.ppt VIP
- 2025年教科版(2024)小学科学二年级上册(全册)教学设计(附目录).docx
- 工程机械租赁投标方案、技术方案.docx VIP
- 中药临方炮制的现状及进展.pdf
- 港口工程初步设计文件编制规定,JTS110-4-2008.pdf VIP
- 水处理生物过程.ppt VIP
- 克莱门特w3000用户手册(中文版).pdf VIP
- 仪表及自动控制设备管理规定.pdf VIP
- 毕业设计-电动叉车设计.docx VIP
文档评论(0)