先把两个函数的代码贴出来:
(分别用 plus1
与 plus2
表示)
进行代换 (因为上述的 plus
/inc
/dec
都是普通函数/过程, 所以应该先求值参数, 也就是应用序)
对于 (plus1 4 5)
:
9
对于 (plus2 4 5)
:
9
第一种是线性递归过程, 因为形状是先展开后收缩(递归), 而且步骤数量与参数成正比(线性)
第一种是线性迭代过程, 因为形状是固定的(迭代), 而且步骤数量与参数成正比(线性)
这两个函数, 都是 递归过程
, 要分清 递归计算过程
与 递归过程
的概念
当某个过程的定义中引用了该过程本身, 则是 递归过程
当某个递归过程计算时具有某种模式/形状时, 称这种模式为 递归计算过程