您的位置:首页 > 其它

递归地推练习总结

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

递归的基本思想:把一个不能或不好解决的大问题转化为一个或几个小问题,再把这些小问题进一步分解成更小的小问题,最小问题可以直接解决。递归的关键在于找出递归定义和递归的终止条件。

递归算法解题一般分为三个步骤:

1)分析问题、寻找递归。2)设置边界、控制递归。3)设计函数、确定参数。

总的来说递归就是大问题分解成小问题,小问题直接出解。

递推:一个问题的求解需要一系列的计算,在已知条件和所求问题之间总存在着某种相互联系的关系,在计算时,如果可以找到前后过程之间的数量关系。递推首要问题是得到相邻的数据项间的关系,它避开了求通项的麻烦,把一个复杂的问题的求解,分解成了连续的若干步简单的运算,可以将递推算法堪称是一种特殊的迭代算法。

递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。

相对于递归算法,递推算法免除了数据进出栈的过程,也就是说,不需要函数不断的向边界值靠拢,而直接从边界出发,知道求出函数值。

递推算法分为顺推法和逆推法,顺推法是指从已知条件出发,逐步推算出要解决问题的方法;逆推法是从已知的结果出发,用迭代表达式逐步推算出问题开始的条件。

总结来说

递推:知道第一个,推出下一个,直到达到目的。

递归:要知道第一个,需要先知道下一个,直到一个已知的,再反回来,得到上一个,直到第一个。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: