递归的特点:
(1)递归就是在过程或函数里调用自己;(2)在使用递归时,必须有一个明确的递归结束条件,否则会陷入死循环;(3)递归算法通常比较简洁,但运行效率较低;(4)在递归调用的过程中系统为每一层的返回点、局部变量等开辟了栈来存储,所以递归次数过多容易造成栈溢出。(5)调用另一个函数时,当前函数暂停并处于未完成状态。
每个递归函数都有两部分:基线条件和递归条件。
基线条件:是指函数不再调用自己,从而避免形成无线循环。
递归条件:是指函数调用自己。