递归:解决一个问题的时候可以分解为更小的问题,而且分解之后的问题的解决方法和原来的一致,这时可以把问题一直这么分解下去,直到问题分解到足够小的时候进行解决,然后再回溯回去解决原来的问题.

递推:类似于数学归纳法中的归纳步骤,假设某个问题在某一步时某个条件成立,下一步可以根据这一步所得的关系进行推导,这就是递推.

本质上,递归和递推都是同一种解决问题的思路,就是把问题分解中较小的问题,但是递归是由大到小的推导直到问题规模足够小可以不必继续推导就可以解决了,而递推是由小到大的推导,采用递推解决问题的有KMP算法之中寻找next数组元素值的算法.

递归,一般的算法书上都有明确的定义,而递推我印象之中还没有非常严格的说明.在这里根据我的理解作一个解释,也许不完全对,请大家指正.
posted on 2006-07-09 21:43 那谁 阅读(675) 评论(1)  编辑 收藏 引用 所属分类: 算法与数据结构
Comments
  • # re: 递归和递推的非严格概念解释
    沐枫
    Posted @ 2006-07-10 09:14
    有递推这种算法形式吗?还是说,只是为了与递归对应,不是递归就是递推?
    文中的解释,觉得是从算法上来说明。其实,递归,应该是一种计算机的算法表达形式,它指的应该是有限制的直接或间接重复调用自身的一种子程序。  回复  更多评论   

标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]
相关链接:
网站导航: