主题:怎么理解递归算法?
yunyifeng
[专家分:10] 发布于 2006-05-24 13:11:00
我们现在在学数据结构,经常提到递归算法,可是我对它不大明白,各位大侠指教一下。
回复列表 (共3个回复)
沙发
lihaifeng0412 [专家分:2270] 发布于 2006-05-24 19:23:00
的规调用就是先分析本题的计算方法,从结果想已知推导,找出上一级与下一级的关系,然后从已知向开始反复调用关系式,值到条件不成立时停止。
板凳
liujiwei [专家分:3840] 发布于 2006-05-24 19:42:00
递归就是自己调用自己
它在存储结构中是用栈来实现的
一层一层的往下调用
把数据压入到栈中
直到条件不满足的时候
然后从栈顶取数据进行运算
直到栈为空
你应该看到过这样的例子
5!=1*2*3*4*5
int Fun(int i)
{
if(i==0&&i==1)
i=1;
else if(i>1)
{
i=Fun(i-1)*i;
}
return i;
};
它就按照54321的顺序压入栈
然后按照12345的顺序取栈顶进行运算
3 楼
popliuyu [专家分:0] 发布于 2006-05-25 11:31:00
它在存储结构中是用栈来实现的
这就是精华!
我来回复