递归地推练习总结
2017-04-18 09:55
183 查看
递归:程序直接或间接调用自身的编程技巧称为递归算法,直接或间接调用自身的函数称为递归函数,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。
递归的基本思想:把一个不能或不好解决的大问题转化为一个或几个小问题,再把这些小问题进一步分解成更小的小问题,最小问题可以直接解决。递归的关键在于找出递归定义和递归的终止条件。
递归算法解题一般分为三个步骤:
1)分析问题、寻找递归。2)设置边界、控制递归。3)设计函数、确定参数。
总的来说递归就是大问题分解成小问题,小问题直接出解。
递推:一个问题的求解需要一系列的计算,在已知条件和所求问题之间总存在着某种相互联系的关系,在计算时,如果可以找到前后过程之间的数量关系。递推首要问题是得到相邻的数据项间的关系,它避开了求通项的麻烦,把一个复杂的问题的求解,分解成了连续的若干步简单的运算,可以将递推算法堪称是一种特殊的迭代算法。
递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。
相对于递归算法,递推算法免除了数据进出栈的过程,也就是说,不需要函数不断的向边界值靠拢,而直接从边界出发,知道求出函数值。
递推算法分为顺推法和逆推法,顺推法是指从已知条件出发,逐步推算出要解决问题的方法;逆推法是从已知的结果出发,用迭代表达式逐步推算出问题开始的条件。
总结来说
递推:知道第一个,推出下一个,直到达到目的。
递归:要知道第一个,需要先知道下一个,直到一个已知的,再反回来,得到上一个,直到第一个。
递归的基本思想:把一个不能或不好解决的大问题转化为一个或几个小问题,再把这些小问题进一步分解成更小的小问题,最小问题可以直接解决。递归的关键在于找出递归定义和递归的终止条件。
递归算法解题一般分为三个步骤:
1)分析问题、寻找递归。2)设置边界、控制递归。3)设计函数、确定参数。
总的来说递归就是大问题分解成小问题,小问题直接出解。
递推:一个问题的求解需要一系列的计算,在已知条件和所求问题之间总存在着某种相互联系的关系,在计算时,如果可以找到前后过程之间的数量关系。递推首要问题是得到相邻的数据项间的关系,它避开了求通项的麻烦,把一个复杂的问题的求解,分解成了连续的若干步简单的运算,可以将递推算法堪称是一种特殊的迭代算法。
递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。
相对于递归算法,递推算法免除了数据进出栈的过程,也就是说,不需要函数不断的向边界值靠拢,而直接从边界出发,知道求出函数值。
递推算法分为顺推法和逆推法,顺推法是指从已知条件出发,逐步推算出要解决问题的方法;逆推法是从已知的结果出发,用迭代表达式逐步推算出问题开始的条件。
总结来说
递推:知道第一个,推出下一个,直到达到目的。
递归:要知道第一个,需要先知道下一个,直到一个已知的,再反回来,得到上一个,直到第一个。
相关文章推荐
- 递推递归练习总结
- ACM-递归递推练习总结
- 递归改非递归练习加总结
- 递推递归练习--总结
- 递归递推练习总结
- 递归递推练习专题总结
- ACM递推递归练习总结
- 常见递归应用总结
- [编程练习与总结1] 时间日期格式转换
- 传智播客--AJAX知识点和实用练习总结
- 面试总结--递归
- 今天的c++练习代码———>"欧几里德算法+函数的递归解决求2个整数的最大公约数"
- 练习总结
- 面试总结--递归2
- 几个常用控件的练习总结(radioButtonList,MultiView,Adratator,Literal,Panel控件中动态添加文本框)
- C/C++中关于递归的实现细节的总结
- vc练习总结2
- 单链表逆置的递归与非递归算法 [简单的小算法练习]
- SQL 条件语句(练习总结)
- 又到综合练习时间:递归