开发者社区> 问答> 正文

递推和递归算法有什么区别

递推和递归算法有什么区别

展开
收起
知与谁同 2018-07-22 17:48:50 1699 0
4 条回答
写回答
取消 提交回答
  • 阿里云开发者社区运营负责人。原云栖社区负责人。
    举个例子,数列:1,1,2,3,5,8,13,21,……
    要求第100项,就得从前两项开始推,直到第100项,是一个递推的过程
    f[0]=f[1]=1;
    for(i=2;i<101;i++)
    {
    f[i]=f[i-1]+f[i-2];
    }

    如果已知:f(n)=f(n-1)+f(n-2),f(0)=f(1)=1;
    求f(n)就可以写一个函数:
    int f(int n)
    {
    if(n==0||n==1)
    return 1;
    else
    return f[n-1]+f[n-2];
    }
    这个就是回溯,因为比较简单,所以其实也可以用递推来实现
    2019-07-17 22:54:32
    赞同 展开评论 打赏
  • 用一句话说区别就在于:递推就是从初始值推到最后一项,而递归就是倒过来计算。
    如用递归法求1~100的和时它就是从100+99+98+…………1倒过来计算的
    而递推就是从1+2+3…………+100直接用循环递推计算的。
    完全就这么简单。
    Are you anderstand?
    还有人能从哲学的理论上来讲解,这个理论吗。
    期待更好的回答…………
    2019-07-17 22:54:32
    赞同 展开评论 打赏
  • Nothing for nothing.
    递归指自我调用的函数,自己调用自己;递推指重复进行的过程,重复进行一个过程,
    2019-07-17 22:54:32
    赞同 展开评论 打赏
  • 胜天半子
    递归就是自己调用自己吧。
    递推是从头向后推吧。
    2019-07-17 22:54:32
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载