开发者社区> 问答> 正文

有人能帮我解释一下什么是递归法吗?

有人能帮我解释一下什么是递归法吗?

展开
收起
知与谁同 2018-07-15 10:49:25 2074 0
4 条回答
写回答
取消 提交回答
  • TA有点害羞,没有介绍自己...
    用递归处理阶乘类问题很好用,如:
    int f(int n)
    {
    n! = n*f(n-1);
    }
    这就是一个递归的应用,递归的思想是,以阶乘为例,把n!转换成n*(n-i)!,(n_1)!比n!好算,然后(n-1-1)!比(n-1)!好算,以次类推直至解决问题。
    2019-07-17 22:54:48
    赞同 展开评论 打赏
  • 静静的看着你们
    递归就是把问题交还给问题本身。
    比如常见的。 n!(阶乘) 就是一种递归。
    2019-07-17 22:54:48
    赞同 展开评论 打赏
  • 递归不是 算法,他是一种思想,正是因为某个算法的指导思想是递归的,所以才被称为递归
    2019-07-17 22:54:48
    赞同 展开评论 打赏
  • 阿里云开发者社区运营负责人。原云栖社区负责人。
    打个比方吧,递归法好比是一个军队要通过一个迷宫,到了第一个分岔口,有3条路,将军命令3个小队分别去探哪条路能到出口,3个小队沿着3条路分别前进,各自到达了路上的下一个分岔口,于是小队长再分派人手各自去探路——只要人手足够(对照而言,就是计算机的堆栈足够),最后必将有人找到出口,从这人开始只要层层上报直属领导,最后,将军将得到一条通路。所不同的是,计算机的递归法是把这个并行过程串行化了。
    2019-07-17 22:54:48
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载