递推与递归算法
第七讲 递推与递归算法
学习重点
1、掌握基本的算法——递推。特别是迭代公式的建立。 2、了解递归算法的思想。
学习过程
递推算法是小学生竞赛中常用的方法,也是我们在辅导学生学习中需要注意的地方。递推算法主要是找出其迭代公式,分为顺推和逆推两种。
1、顺推
从已知条件出发,逐步推算出要解决的问题的方法叫顺推。如斐波拉契数列、杨辉三角形都是用的这种方法。
例1:【问题描述】有一个数列:第1项的值为0,第2项的值为1,从第3项起为其前两项之和。其第20项的值是多少?(斐波那契数列)
【问题分析】
开始的条件:a(1)=0 a(2)=1
从第3项起其迭代表达式为a(i)=a(i-1)+a(i-2) 【程序清单】
FOR i=3 TO 20 a(i)=a(i-1)+a(i-2) NEXT i
PRINT a(20)
最后输出a(20)就得出问题的结果。
我们再来理解下面的一道题目,这是2003年信息学奥赛复赛的第4题。 例2:【问题描述】
对一个正整数K,求出K的所有拆分,并统计输出其中回文数列的个数。 所谓回文数列是指该数列中的所有数字,从左向右或从右向左看都相同。 例如:
K=4时,有如下的拆分:
4=1+1+1+1 {回文数列1} =1+1+2
=1+2+1 {回文数列2} =2+1+1
=2+2 {回文数列3} =1+3 =3+1
回文数列共有3个
【输 入】 一个正整数K(1<K≤26). 【输 出】 满足条件的回文数列的个数. 【输入样例】 4
5递推与递归算法25递推与递归算法2隐藏>> 1、 递推(或迭代)程序设计递归和迭区别: 迭代和递归都是以一种控制语句为基础: 迭代使用了循环语句, 而递归使用了...
递推算法递推算法是一种若干步、重复的简 单运算(规律)解决问题的算法。 已知...var n,i,lx,nx,px,now:longint; 递归算法递归算法:函数/过程体中出现对自...
递推和递归方法在C语言程序设计中的应用_数学_自然科学_专业资料。龙源期刊网 http://www.qikan.com.cn 递推和递归方法在 C 语言程序设计中的应 用 作者:张春...
[3]递推与递归策略_计算机软件及应用_IT/计算机_专业资料。递推与递归方法 用递归的思想思考问题 ? 1.递推算法 ? 2.递归 1.递推算法 ? 有一类问题,每相邻...
正文 字体大小:大中小 递归与递推(2010-10-10 16:53:12)转载标签: 教育 分类: 信息奥赛 第一部分 递归 想必大家都听过这样一个故事,从前有座山,山上有座...
用递推关系理论分析递归算法的时间复杂度_数学_自然科学_专业资料。用递推关系理论分析递归算法的时间复杂度 [ 摘要 ] 对算法进行时间复杂度分析是算法分析与研究的...
递推算法 递归算法 计算组合数 汉诺塔问题 快速排序问题 递归思想 递推与递归 www.mobiletrain.org www.embedtrain.org 千锋3G嵌入式移动互联网技术研发中心 千锋 ...
递推与递归_IT/计算机_专业资料。递推和递归的一些算法!递推和递归 江苏省华罗庚中学 杨志军 2009.1.20 递 推 ? 有些问题中,相邻两项或多项数字(或 状态)...
c++,使用欧几里得算法计算两个数的最大公约数,分别用递推和递归两种算法实现5_计算机软件及应用_IT/计算机_专业资料。c++,使用欧几里得算法计算两个数的最大公约数...

我要评论