码迷,mamicode.com
首页 > 其他好文 > 详细

递归与迭代

时间:2017-11-03 17:12:36      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:定义   返回   ges   com   变量   结果   技术   .com   str   

递归过程

当一个过程的定义中引用了过程自身时,我们说这一过程是递归的,论述的是一书写上的语法形式。递归过程能产生递归的计算过程和迭代的计算过程。

递归计算过程

递归计算过程中,需要保存一个待计算链,这个待计算链会随着递归的深入越来越长,递归结束时,才会实际执行待计算链中的运算。存在一个扩张和收缩过程。如下图所示:

技术分享     

迭代计算过程

 在迭代的计算过程中,需要保存的变量个数是固定的,通常是计算过程的参数。

技术分享

可以说递归计算过程是一种自顶向下的过程, 而迭代计算过程是一种自底向上的计算过程。

如,在计算6的阶乘时,递归计算过程从 6 开始计算,每次计算没有结果,要等待 返回值, 而迭代计算过程从 1 开始计算,每次计算都有结果,结果作为参数传入下一次计算过程。

【SICP学习笔记】

 

递归与迭代

标签:定义   返回   ges   com   变量   结果   技术   .com   str   

原文地址:http://www.cnblogs.com/sclczk/p/7779065.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!