递归递推练习专题总结

来源:互联网 发布:四轴叶轮加工编程方法 编辑:程序博客网 时间:2024/05/19 03:21

        递推递归是比较重要的一部分内容,但有些问题理解起来比较抽象。最主要最困难的就是找到关系式,一旦找到关系式用代码实现起来就非常简洁了。遇到递归递推的题目,要先明确用递归递推的方法来解题否则用其它方式将更为繁琐。还有就是预处理,在很多递推的题目中用预处理,能大大节省时间和空间。递归一般经常用函数来实现,通过函数的调用得到结果。

1.递归算法

        程序直接或间接调用自身的编程技巧称为递归算法。直接或间接调用自身的函数称为递归函数,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。

递归的基本思想:问题分解:把一个不能或不好解决的大问题转化为一个或几个小问题,再把这些小问题进一步分解成更小的小问题,最小问题可以直接解决。 

递归的关键在于找出递归方程式和递归终止条件。递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。

递归定义:使问题向边界条件转化的规则。递归定义必须能使问题越来越简单。

递归边界条件:也就是所描述问题的最简单情况,它本身不再使用递归的定义。

递归算法解题通常有三个步骤:

1)分析问题、寻找递归:找出大规模问题与小规模问题的关系,这样通过递归使问题的规模逐渐变小。

2)设置边界、控制递归:找出停止条件,即算法可解的最小规模问题。

3)设计函数、确定参数:和其它算法模块一样设计函数体中的操作及相关参数。

2.递推算法

      一个问题的求解需一系列的计算,在已知条件和所求问题之间总存在着某种相互联系的关系;如果可以找到前后过程之间的数量关系,能使复杂运算化为若干步重复的简单运算,充分发挥出计算机擅长于重复处理的特点。递推算法的首要问题是得到相邻的数据项间的关系(即递推关系)。把一个复杂的问题的求解,分解成了连续的若干步简单运算。



  

0 0
原创粉丝点击