码迷,mamicode.com
首页 > 编程语言 > 详细

算法(一)之递归

时间:2018-10-27 19:44:53      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:inf   老师   解决   代码   .com   技术分享   表达   http   一个   

我直接用王争老师的例子了。
技术分享图片

这是典型的递归例子,表达式如下

int f(int n) {
  if (n == 1) return 1;
  return f(n-1) + 1;
}

解释下这段代码,如果你是第五排

f(5) ->                             f(5-1)   + 1 
      ->                     (f(4-1) + 1)   + 1 
      ->             ((f(3-1) + 1) + 1)  + 1 
      ->    (((f(2-1) + 1) + 1) + 1)  + 1
      ->    (((1+         1) + 1) + 1)  + 1
      ->     5

递归要满足三个条件:
1.一个问题可以分解为几个子问题的解
2.子问题与其父问题的解决思路一样
3.存在递归的终止条件
例子中的终止条件是 f(1) = 1即第一排的人知道自己是第一排,否则无法用递归。

算法(一)之递归

标签:inf   老师   解决   代码   .com   技术分享   表达   http   一个   

原文地址:https://www.cnblogs.com/jiangxiaoxian/p/9862702.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!