递归
递归就是一个函数在它的函数体内调用它自身。执行递归函数将反复调用其自身,每调用一次就进入新的一层。递归函数必须有结束条件。
当函数在一直递推,直到遇到墙后返回,这个墙就是结束条件。
所以递归要有两个要素,结束条件与递推关系
注:
递归的时候,每次调用一个函数,计算机都会为这个函数分配新的空间,这就是说,当被调函数返回的时候,调用函数中的变量依然会保持原先的值,否则也不可能实现反向输出。
- 使用循环的地方都可以使用递归
- 缺点:
- 递归快速耗内存
- 不方便阅读和维护
- 效率低
- 优点:
- 简洁
- 适合解决阶乘、涉及相反顺序的编程问题