每一个递归程序都遵循相同的基本步骤:
以下是另一个可能更有利于理解递归过程的解释:
这样就有一种更有趣的描述:“为了理解递归,则必须首先理解递归。”或者更准确地,按照的解释:“如果你已经知道了什么是递归,只需记住答案。否则,找一个比你更接近的人;然后让他/她来告诉你什么是递归。”
基线条件(base case)。基线条件是递归程序的最底层位置,在此位置时没有必要再进行操作,可以直接返回一个结果。所有递归程序都必须至少拥有一个基线条件,而且必须确保它们最终会达到某个基线条件;否则,程序将永远运行下去,直到程序缺少内存或者栈空间。
自己总结了一下,要写一个递归的程序,需要这样做:
1.一个基线条件。请在递归函数的一开始就处理这个基线条件。
2.一系列的规则,使对递归函数的每次调用都趋进于直至达到这个基线条件。
因篇幅问题不能全部显示,请点此查看更多更全内容