递归的个人理解

153 阅读1分钟

要素

  • 目的/终止条件

  • 前置代码:递归函数之前的代码 image.png

  • 后置代码:递归函数之后的代码 image.png

递归过程的个人理解

递归的过程中有压栈和出栈两种行为。

在没有达到目的之前,会一层一层往上叠,叠的过程中会一次又一次执行前置代码,这叫做压栈。然后在达到目的以后,从最高层开始一层一层往下减,减的过程中依次执行后置代码。

上图这种代码属于回溯,需要通过终止条件往回推,才更容易理解。