在运用递归的时候
我应该怎么想哦 ?
感觉怎么都用不好它
谢谢了哦 !
理解递归,首先就要理解堆栈.因为递归的实现是基于堆栈的.
递归这东西要的是理解.要的是那恍然大悟的一瞬间.LZ不要再急于求成.应该慢慢来.多做一些这方面的习题,慢慢的就理解了.
推荐一本书:《数据结构与算法-Java语言版》,里面对于递归的阐述很清晰.楼主有时间可以看一下.
理解递归最好的办法是理解数学归纳法,找本数学教材,把上面的数学归纳法题目做几个递归函数,你肯定行。
另外注意递归函数一定要有个退出机制,否则死循环,溢出。
找简单的例子看看。
[code="java"]
/**
求n*(n-1)*(n-2)......
*/
public static int getN(int n){
if(n > 0){
return n * getN(n-1);
}
else{
return 1;
}
}
[/code]