是什么:
递归是一项非常重要的编程技术,它让函数可以从函数体内部调用自身。
一个过程或函数直接或间接调用自身,这种过程或函数叫递归过程或递归函数。
作用:
递归通常把一个大型复杂的问题层层简化为一个与原问题相似的规模较小的问题来求解。使用递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算。这样就大大地减少了程序的代码量。递归的能力在于能运用有限的语句来定义对象的无限集合。
注意:
递归算法解题的运行效率相对较低。在递归调用的过程当中系统为每一层的返回点,局部变量等开辟了栈来存储。使用递归的时候需要消耗比较多的栈空间,所以递归次数过多容易造成栈溢出等。在堆栈尺寸受到限制的时候,一般需要避免使用递归。