I am a teacher!

导航

2019年6月14日 #

递推和迭代的比较

摘要: 迭代是一种不断用变量的旧值推出新值的过程。例如,程序设计中常用到的计数cnt=cnt+1(或cnt++),就是用变量cnt的值加上1后赋值给cnt;对k的求和s=s+k,就是用变量s的值加上k后赋值给s。这种用变量cnt、s的新值取代旧值的过程,实际上就是迭代。 递推实际上也是根据递推关系式不断推出 阅读全文

posted @ 2019-06-14 18:28 aTeacher 阅读(3966) 评论(0) 推荐(1) 编辑

迭代(二):迭代法求方程的根

摘要: 迭代法是用于求方程或方程组近似根的一种常用的算法设计方法。设方程为f(x)=0,用某种数学方法导出等价的形式x=g(x),然后按以下步骤执行: (1)选一个方程的近似根,赋给变量x0。 (2)将x0的值保存于变量x1,然后计算g(x1),并将结果存于变量x0。 (3)当x0与x1的差的绝对值还小于指 阅读全文

posted @ 2019-06-14 18:20 aTeacher 阅读(14022) 评论(0) 推荐(0) 编辑

迭代(一):迭代算法的基本思想

摘要: 迭代法也称辗转法,是一种不断用变量的旧值推出新值的过程。它是解决问题的一种基本方法,通过让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。 迭代算法的基本思想是:为求一个问题的解x,可由给定的一个初值x0,根据某一迭代公式得到一个新的值 阅读全文

posted @ 2019-06-14 17:37 aTeacher 阅读(8825) 评论(0) 推荐(0) 编辑

递推(三):POJ中的三道递推例题POJ 1664、POJ 2247和POJ 1338

摘要: 【例9】放苹果(POJ 1664) Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 Input 第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分 阅读全文

posted @ 2019-06-14 12:58 aTeacher 阅读(425) 评论(0) 推荐(0) 编辑

递推(二):递推法的应用

摘要: 下面通过一些典型实例及其扩展来讨论递推法的应用。 【例2】骨牌铺方格 在2×n的一个长方形方格中,用一种2×1的骨牌铺满方格。输入n(n<=40),输出铺放方案的总数。 例如n=3时,为2×3方格,骨牌的铺放方案有三种,如下图1所示。 图1 2×3方格的骨牌铺放方案 (1)编程思路。 设f[i]为铺 阅读全文

posted @ 2019-06-14 11:59 aTeacher 阅读(1618) 评论(0) 推荐(0) 编辑

递推(一):递推法的基本思想

摘要: 所谓递推,是指从已知的初始条件出发,依据某种递推关系,逐次推出所要求的各中间结果及最后结果。其中初始条件或是问题本身已经给定,或是通过对问题的分析与化简后确定。 利用递推算法求问题规模为n的解的基本思想是:当n=1时,解或为已知,或能非常方便地求得;通过采用递推法构造算法的递推性质,能从已求得的规模 阅读全文

posted @ 2019-06-14 11:26 aTeacher 阅读(4682) 评论(0) 推荐(0) 编辑