递归法在计算机编程应用中,我们常常遇到代码的递归调用,事实上,递归是一种编程技巧,它是分治思想的一种重要体现。递归算法对解决大多数问题是十分有效的,它能够使算法的描述变得简洁而且易于理解。从直观上讲,递归是将大问题化为相同结构的小问题,从待求解的问题出发,一直分解到已经已知答案的最小问题为止,然后再逐级返回,从而得到大问题的解。从本质上讲,计算机在执行递归调用时是一个不断压栈出栈的过程,递归的每一次“递”都是入栈,将函数状态或临时变量的指针入栈,而每一次“归”时都是出栈,将子问题的解逐渐交还给上层调用者。递归算法有如下3个特点:(1)递归过程一般通过函数或子过程来实现。(2)递归算法在函数或子