基本算法2-递推法.ppt

基本算法2-递推法.ppt

ID:62013066

大小:288.00 KB

页数:32页

时间:2021-04-12

基本算法2-递推法.ppt_第1页
基本算法2-递推法.ppt_第2页
基本算法2-递推法.ppt_第3页
基本算法2-递推法.ppt_第4页
基本算法2-递推法.ppt_第5页
资源描述:

《基本算法2-递推法.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基本算法二递推策略一、引例:Fibonacci数列Fibonacci数列的代表问题是由意大利著名数学家Fibonacci于1202年提出的“兔子繁殖问题”(又称“Fibonacci问题”)。问题:一个数列的第0项为0,第1项为1,以后每一项都是前两项的和,这个数列就是著名的裴波那契数列,求裴波那契数列的第N项。解答由问题,可写出递推方程算法:f[0]:=1;f[1]:=2;fori:=2tondof[i]:=f[i–1]+f[i–2];总结从这个问题可以看出,在计算裴波那契数列的每一项目时,都可以由前两项推出。这

2、样,相邻两项之间的变化有一定的规律性,我们可以将这种规律归纳成如下简捷的递推关系式:Fn=g(Fn-1),这就在数的序列中,建立起后项和前项之间的关系。然后从初始条件(或是最终结果)入手,按递推关系式递推,直至求出最终结果(或初始值)。很多问题就是这样逐步求解的。对一个试题,我们要是能找到后一项与前一项的关系并清楚其起始条件(或最终结果),问题就可以递推了,接下来便是让计算机一步步了。让高速的计算机从事这种重复运算,真正起到“物尽其用”的效果。递推法所谓递推,是指从已知的初始条件出发,依据某种递推关系,逐次推出所

3、要求的各中间结果及最后结果。其中初始条件或是问题本身已经给定,或是通过对问题的分析与化简后确定。可用递推算法求解的题目一般有以下二个特点:1、问题可以划分成多个状态;2、除初始状态外,其它各个状态都可以用固定的递推关系式来表示。在我们实际解题中,题目不会直接给出递推关系式,而是需要通过分析各种状态,找出递推关系式。二、递推概念给定一个数的序列H0,H1,…,Hn,…若存在整数n0,使当n>n0时,可以用等号(或大于号、小于号)将Hn与其前面的某些项Hi(0

4、关系递推关系有何性质如何求解递推关系三、解决递推问题的一般步骤建立递推关系式确定边界条件递推求解四、递推的两种形式顺推法和倒推法采用具体化、特殊化的方法寻找规律平面上n条直线,任两条不平行,任三条不共点,问这n条直线把这平面划分为多少个部分?设这n条直线把这平面划分成Fn个部分。先用具体化特殊化的方法寻找规律,如图所示,易知的前几项分别为这些数字之间的规律性不很明显,较难用不完全归纳法猜出Fn的一般表达式。但我们可以分析前后项之间的递推关系,因为这些图形中,后一个都是由前一个添加一条直线而得到的,添加一条直线便增

5、加若干个区域。一般地,设原来的符合题意的n-1条直线把这平面分成个区域,再增加一条直线l,就变成n条直线,按题设条件,这l必须与原有的n-1条直线各有一个交点,且这n-1个交点及原有的交点互不重合。这n-1个交点把l划分成n个区间,每个区间把所在的原来区域一分为二,所以就相应比原来另增了n个区域,即:这样,我们就找到了一个从Fn-1到Fn的的递推式,再加上已知的初始值F1=2,就可以通过n-1步可重复的简单运算推导出Fn的值。vara,i,n:longint;beginread(n);a:=2;fori:=2to

6、ndoa:=a+i;writeln(a);end.平面上有8个圆,最多能把平面分成几部分?123456Fn=Fn-1+2×(n-1)圆周上两个点将圆周分为两半,在这两点上写上数1;然后将两段半圆弧对分,在两个分点上写上相邻两点上的数之和;再把4段圆弧等分,在分点上写上相邻两点上的数之和,如此继续下去,问第6步后,圆周上所有点上的数之和是多少?分析:先可以采用作图尝试寻找规律。第一步:圆周上有两个点,两个数的和是1+1=2;第二步:圆周上有四个点,四个数的和是1+1+2+2=6;增加数之和恰好是第一步圆周上所有数之

7、和的2倍。第三步:圆周上有八个点,八个数的和是1+1+2+2+3+3+3+3=18,增加数之和恰好是第二步数圆周上所有数之和的2倍。第四步:圆周上有十六个点,十六个数的和1+1+2+2+3+3+3+3+4+4+4+4+5+5+5+5=54,增加数之和恰好是第三步数圆周上所有数之和的2倍。……这样我们可以知道,圆周上所有数之和是前一步圆周上所有数之和的3倍。设An为第n步后得出的圆周上所有数之和,则An=3×An-1在n×n的正方形钉子板上(n是钉子板每边上的钉子数),求连接任意两个钉子所得到的不同长度的线段种数.

8、Fn=Fn-1+n某公共汽车线路上共有15个车站(包括起点站和终点站)。在每个站上车的人中,恰好在以后各站下去一个。要使行驶过程中每位乘客都有座位,车上至少要备有多少个座位?从表中可以看出车上人数最多是56人,所以车上至少要准备56个座位。例、有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。试求出蜜蜂从蜂房a爬到蜂房b的可能路线数。问题分析:这是一道很典型的Fi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。