原版:http://blog.csdn.net/wangjinyu501/article/details/8248492
递归算法就是直接或间接调用自身的算法。它表现在一段程序中往往会遇到调用自身的那样一种编码策略,这样我们就可以利用大道至简的思想,把一个大的复杂的问题层层转换为一个小的和原问题相似的问题来求解的这样一种策略。
递归算法解决问题的特点:
递归就是在算法里调用自身。
在使用递归算法时,要有一个递归结束口,即递归结束条件。
递归算法显得间接,但是执行效率较低,所以不提倡使用,而且递归算法不容易理解。
在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等,所以一般不提倡用递归算法设计程序。