回 帖 发 新 帖 刷新版面

主题:怎么理解递归算法?

我们现在在学数据结构,经常提到递归算法,可是我对它不大明白,各位大侠指教一下。

回复列表 (共3个回复)

沙发

的规调用就是先分析本题的计算方法,从结果想已知推导,找出上一级与下一级的关系,然后从已知向开始反复调用关系式,值到条件不成立时停止。

板凳

递归就是自己调用自己
它在存储结构中是用栈来实现的
一层一层的往下调用
把数据压入到栈中
直到条件不满足的时候
然后从栈顶取数据进行运算
直到栈为空

你应该看到过这样的例子
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 楼

它在存储结构中是用栈来实现的
这就是精华!

我来回复

您尚未登录,请登录后再回复。点此登录或注册