递推法【信息技术】.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
递推法 课题:递推法 目标: 知识目标:递推概念与利用递推解决实际问题 能力目标:递推方程 重点:递推方程 难点:递推方程写出 板书示意: 递推的理解(例20) 倒推法(例21) 顺推法(例22、例23) 授课过程: 递推就是逐步推导的过程。我们先看一个简单的问题。 例20:一个数列的第0项为0,第1项为1,以后每一项都是前两项的和,这个数列就是著名的裴波那契数列,求裴波那契数列的第N项。 分析:我们可以根据裴波那契数列的定义:从第2项开始,逐项推算,直到第N项。因此可以设计出如下算法: F[0] := 1; F[1] := 2; FOR I := 2 TO N DO F[I] := F[I – 1] + F[I – 2]; 从这个问题可以看出,在计算裴波那契数列的每一项目时,都可以由前两项推出。这样,相邻两项之间的变化有一定的规律性,我们可以将这种规律归纳成如下简捷的递推关系式:Fn=g(Fn-1),这就在数的序列中,建立起后项和前项之间的关系。然后从初始条件(或是最终结果)入手,按递推关系式递推,直至求出最终结果(或初始值)。很多问题就是这样逐步求解的。 对一个试题,我们要是能找到后一项与前一项的关系并清楚其起始条件(或最终结果),问题就可以递推了,接下来便是让计算机一步步了。让高速的计算机从事这种重复运算,真正起到“物尽其用”的效果。 递推分倒推法和顺推法两种形式。算法流程如下: 一、倒推法 所谓倒推法,就是在问题的解或目标是由初始值递推得到的问题中,已知解或目标,根据递推关系,采用倒推手段,一步步的倒推直至求得这个问题的初始陈述的方法。因为这类问题的运算过程是一一映射的,故可分析其递推公式。看看下面的例题。 例21:贮油点 一辆重型卡车欲穿过1000公里的沙漠,卡车耗汽油为1升/公里,卡车总载油能力为500公升。显然卡车装一次油是过不了沙漠的。因此司机必须设法在沿途建立若干个贮油点,使卡车能顺利穿过沙漠。试问司机如怎样建立这些贮油点?每一贮油点应存储多少汽油,才能使卡车以消耗最少汽油的代价通过沙漠? 编程计算及打印建立的贮油点序号,各贮油点距沙漠边沿出发的距离以及存油量。格式如下: No. Distance(k.m.) Oil(litre) 1 × × × × 2 × × × × … … … … … 分析: 设Way[I]——第I个贮油点到终点(I=0)的距离; oil[I]——第I个贮油点的贮油量; 我们可以用倒推法来解决这个问题。从终点向始点倒推,逐一求出每个贮油点的位置及存油量。图19表示倒推时的返回点。 从贮油点I向贮油点I+1倒推的方法是:卡车在贮油点I和贮油点I+1间往返若干次。卡车每次返回I+1点时应该正好耗尽500公升汽油,而每次从I+1点出发时又必须装足500公升汽油。两点之间的距离必须满足在耗油最少的条件下,使I点贮足I*500公升汽油的要求(0≦I≦n-1)。具体来说,第一个贮油点I=1应距终点I=0处500km,且在该点贮藏500公升汽油,这样才能保证卡车能由I=1处到达终点I=0处,这就是说 Way[I]=500;oil[I]=500; 为了在I=1处贮藏500公升汽油,卡车至少从I=2处开两趟满载油的车至I=1处,所以I=2处至少贮有2*500公升汽油,即oil[2]=500*2=1000;另外,再加上从I=1返回至I=2处的一趟空载,合计往返3次。三次往返路程的耗油量按最省要求只能为500公升,即d12=500/3km,Way[2]=Way[1]+d12=Way[I]+500/3 此时的状况如图20所示。 为了在I=2处贮藏1000公升汽油,卡车至少从I=3处开三趟满载油的车至I=2处。所以I=3处至少贮有3*500公升汽油,即oil[3]=500*3=1500。加上I=2至I=3处的二趟返程空车,合计5次。路途耗油亦应500公升,即d23=500/5, Way[3]=Way[2]+d23=Way[2]+500/5; 此时的状况如图21所示。 依次类推,为了在I=k处贮藏k*500公升汽油,卡车至少从I=k+1处开k趟满载车至I=k处,即oil[k+1]=(k+1)*500=oil[k]+500,加上从I=k返回I=k+1的k-1趟返程空间,合计2k-1次。这2k-1次总耗油量按最省要求为500公升,即dk,k+1=500/(2k-1), Way[k+1]=Way[k]+dk,k+1=Way[k]+500/(2k-1); 此时的状况如图22所示。 最后,I=n至始点的距离为1000-Way[n],oil[n]=500*n。为了在I=n处取得n*500公升汽油,卡车至少从始点开n+1次满载车至I=n,加上从I=n返回始点的n趟返程空车,合计2n+1次,2n+1趟的总耗油量应正好为

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档