递归与迭代
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归与迭代相关的知识,希望对你有一定的参考价值。
递归过程
当一个过程的定义中引用了过程自身时,我们说这一过程是递归的,论述的是一书写上的语法形式。递归过程能产生递归的计算过程和迭代的计算过程。
递归计算过程
递归计算过程中,需要保存一个待计算链,这个待计算链会随着递归的深入越来越长,递归结束时,才会实际执行待计算链中的运算。存在一个扩张和收缩过程。如下图所示:
迭代计算过程
在迭代的计算过程中,需要保存的变量个数是固定的,通常是计算过程的参数。
可以说递归计算过程是一种自顶向下的过程, 而迭代计算过程是一种自底向上的计算过程。
如,在计算6的阶乘时,递归计算过程从 6 开始计算,每次计算没有结果,要等待 返回值, 而迭代计算过程从 1 开始计算,每次计算都有结果,结果作为参数传入下一次计算过程。
【SICP学习笔记】
以上是关于递归与迭代的主要内容,如果未能解决你的问题,请参考以下文章
C/C++语言笔记-递归迭代动态规划的区别与联系(手段就2种-递归/迭代)
C/C++语言笔记-递归迭代动态规划的区别与联系(手段就2种-递归/迭代)