- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章--递推算法(C++版)2017-副本--青少年教育精选.ppt
* drdgthtrhtrj 递推法是一种重要的数学方法,在数学的各个领域中都有广泛的运用,也是计算机用于数值计算的一个重要算法。这种算法特点是:一个问题的求解需一系列的计算,在已知条件和所求问题之间总存在着某种相互联系的关系,在计算时,如果可以找到前后过程之间的数量关系(即递推式),那么,从问题出发逐步推到已知条件,此种方法叫逆推。无论顺推还是逆推,其关键是要找到递推式。这种处理问题的方法能使复杂运算化为若干步重复的简单运算,充分发挥出计算机擅长于重复处理的特点。 递推算法的首要问题是得到相邻的数据项间的关系(即递推关系)。递推算法避开了求通项公式的麻烦,把一个复杂的问题的求解,分解成了连续的若干步简单运算。一般说来,可以将递推算法看成是一种特殊的迭代算法。 * drdgthtrhtrj 【例1】 有 2χn的一个长方形方格,用一个1*2的骨牌铺满方格。 编写一个程序,试对给出的任意一个n(n0), 输出铺法总数。 * drdgthtrhtrj 【算法分析】 (1)面对上述问题,如果思考方法不恰当,要想获得问题的解答是相当困难的。可以用递推方法归纳出问题解的一般规律。 (2)当n=1时,只能是一种铺法,铺法总数有示为x1=1。 (3)当n=2时:骨牌可以两个并列竖排,也可以并列横排,再无其他方法,如下左图所示,因此,铺法总数表示为x2=2; * drdgthtrhtrj (4)当n=3时:骨牌可以全部竖排,也可以认为在方格中已经有一个竖排骨牌,则需要在方格中排列两个横排骨牌(无重复方法),若已经在方格中排列两个横排骨牌,则必须在方格中排列一个竖排骨牌。如上右图,再无其他排列方法,因此铺法总数表示为x3=3。 由此可以看出,当n=3时的排列骨牌的方法数是n=1和n=2排列方法数的和。 ? (5)推出一般规律:对一般的n,要求xn可以这样来考虑,若第一个骨牌是竖排列放置,剩下有n-1个骨牌需要排列,这时排列方法数为xn-1;若第一个骨牌是横排列,整个方格至少有2个骨牌是横排列(1*2骨牌),因此剩下n-2个骨牌需要排列,这是骨牌排列方法数为xn-2。从第一骨牌排列方法考虑,只有这两种可能,所以有: ???????????? xn=xn-1+xn-2 (n2) ???????????? x1=1 ???????????? x2=2 xn=xn-1+xn-2就是问题求解的递推公式。任给n都可以从中获得解答。例如n=5, ?????????? x3=x2+x1=3 ?????????? x4=x3+x2=5 ?????????? x5=x4+x3=8 * drdgthtrhtrj 下面是输入n,输出x1~xn的c++程序: #includeiostream using namespace std; int main() { int n,i,j,a[101]; coutinput n:; //输入骨牌数 cinn; a[1]=1;a[2]=2; coutx[1]=a[1]endl; coutx[2]=a[2]endl; for (i=3;i=n;i++) //递推过程 { a[i]=a[i-1]+a[i-2]; coutx[i]=a[i]endl; } } ??下面是运行程序输入 n=30,输出的结果: ?? input n: 30 ????? x[1]=1 ????? x[2]=2 ????? x[3]=3 ........ ????? x[29]=832040 ????? x[30]=1346269 问题的结果就是有名的斐波那契数。 * drdgthtrhtrj 【例2】数字三角形。如下所示为一个数字三角形。请编一个程序计算从顶到底的某处的一条路径,使该路径所经过的数字总和最大。只要求输出总和。 1、 一步可沿左斜线向下或右斜线向下走; 2、 三角形行数小于等于100; 3、 三角形中的数字为0,1,…,99; 测试数据通过键盘逐行输入,如上例数据应以如下所示格式输入: 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 【算法分析】 此题解法有多种,从递推的思想出发,设想,当从顶层沿某条路径走到第i层向第i+1层前进时,我们的选择一定是沿其下两条可行路径中最大数字的方向前进,为此,我们可以采用倒推的手法,设a[i][j]存放从i,j 出发到达n层的最大值,则a[i][j]=max{a[i][j]+a[i+1][j],a[i][j]+a[i+1][j+1]},a[
您可能关注的文档
- 江苏峰会:姜堰中学鲁世明南京讲座--青少年教育精选.pptx
- 江苏省周边的民宿--青少年教育精选.ppt
- 江苏省四星级高中2010年高中化学竞赛无机化学:1绪论(课件)--青少年教育精选.ppt
- 江苏省四星级高中2010年高中化学竞赛无机化学:5电化学与金属腐蚀(课件)--青少年教育精选.ppt
- 江苏省四星级高中2010年高中化学竞赛无机化学:6化学热力学初步(课件)--青少年教育精选.ppt
- 江苏省四星级高中2010年高中化学竞赛无机化学:7缓冲溶液(课件)--青少年教育精选.ppt
- 江西省南昌市湾里区第一中学高中语文选修《先秦诸子选读》:天下有道-丘不与易也--课件--青少年教育精选.ppt
- 河北省武邑中学人教版高中语文必修五第8课《咬文嚼字》--青少年教育精选.ppt
- 河北省涞水县高中数学第三章概率3.2.1古典概型说课课件--青少年教育精选.ppt
- 河北省涞水县高中数学第三章概率3.2.1古典概型课件--青少年教育精选.ppt
- 第3章-中学生心理辅导之1:中学生心理健康--青少年教育精选.ppt
- 第3章-中学生心理辅导之2:心理辅导的主要方法--青少年教育精选.ppt
- 第7课佛教寺院与哥特式教堂--青少年教育精选.ppt
- 第9章--第1-2节-动态规划基础(C++版)--青少年教育精选.ppt
- 第一次月考考前动员主题班会--青少年教育精选.ppt
- 第一章-中学生心理辅导概述--青少年教育精选.ppt
- 第一讲-输入输出、顺序、文件--青少年教育精选.ppt
- 第一课-走进心理学-高一年级--青少年教育精选.ppt
- 第一课时-中学心理健康入门介绍-2017.9.9--青少年教育精选.ppt
- 第三节-脂类--青少年教育精选.ppt
最近下载
- 检查与检验结果审核制度.docx VIP
- 2025年公路水运交通安全员C证从业资格证考试题库(附含答案).docx VIP
- 《义务教育英语课程标准(2022年版)》.pdf VIP
- 《全国统一电力市场发展规划蓝皮书》.pdf VIP
- 小说复习-情节之叙述视角与叙述人称.pptx VIP
- 山东省聊城市2024-2025学年九年级上学期9月月考数学检测试题(附答案).docx
- 2024年山东省中考语文试卷.pdf VIP
- 《系统需求分析与设计》课件.ppt VIP
- 2024年公路水运交通安全员C证从业资格证考试题库(附含答案).docx VIP
- 苏教版小学《科学》四年级上册全套教学课件(共387页PPT).pptx
文档评论(0)