今天看数据结构的书,发现上面分析递归的方法比较好,在这里记一下:
求阶乘方法:
int fact(int n){
if(n == 0)
return 1;
else
return (n*fact(n-1));
}
很简单的例子,如果画图表示执行过程是这样:以计算fact(3)为例:
每一列代表每一次方法调用过程,最上面代表要执行的方法和参数,中间代表代表这一次的执行结果,这样一来,整个调用过程就很清晰了。
今天看数据结构的书,发现上面分析递归的方法比较好,在这里记一下:
求阶乘方法:
int fact(int n){
if(n == 0)
return 1;
else
return (n*fact(n-1));
}
很简单的例子,如果画图表示执行过程是这样:以计算fact(3)为例:
每一列代表每一次方法调用过程,最上面代表要执行的方法和参数,中间代表代表这一次的执行结果,这样一来,整个调用过程就很清晰了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。