开发者社区> 问答> 正文

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

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

展开
收起
知与谁同 2018-07-22 16:44:16 2129 0
2 条回答
写回答
取消 提交回答
  • 递推像是多米诺骨牌,根据前面几个得到后面的;递归是大事化小,比如汉诺塔(Hanoi)问题,典型的递归。
    2019-07-17 22:54:23
    赞同 展开评论 打赏
  • 递推就是从前往后推,递归还有个回溯的过程

    举个例子,数列: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:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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