定义:
在高级函数中,函数调用自己和调用其他函数并没有本质区别。我们把一个直接调用自己或者通过一系列的语句间接调用自己的函数称为递归函数。
不过,写递归函数的最应该注意的就是陷入永不停止的无穷递归中。切记,每个递归定义必须至少有一个条件,当满足这个条件时,函数不再调用自己。
递归和迭代的区别:
1.迭代使用的结构是循环结构,递归使用的是选择结构;
2.使用递归能使程序的结构更加的清晰,更简洁,更容易让人理解,从而减少读懂代码的时间;
3.大量的递归会建立函数的副本,会消耗大量的时间和内存,而迭代则不需要这种付出;
4.递归函数分为调用和回退阶段,递归的回退顺序是它的调用顺序的逆序。