首页 > 其他 > 详细

理解递归

时间:2017-11-25 17:50:44      阅读:146      评论:0      收藏:0      [点我收藏+]

递归的思想:

归纳法适用于想解决一个问题转化为解决他的子问题,而他的子问题又变成子问题的子问题,而且我们发现这些问题其实都是一个模型,也就是说存在相同的逻辑归纳处理项。当然有一个是例外的,也就是递归结束的哪一个处理方法不适用于我们的归纳处理项,当然也不能适用,否则我们就无穷递归了。这里又引出了一个归纳终结点以及直接求解的表达式。如果运用列表来形容归纳法就是:

  • 步进表达式:问题蜕变成子问题的表达式
  • 结束条件:什么时候可以不再是用步进表达式
  • 直接求解表达式:在结束条件下能够直接计算返回值的表达式
  • 逻辑归纳项:适用于一切非适用于结束条件的子问题的处理,当然上面的步进表达式其实就是包含在这里面了。

1、返回一个二叉树的深度

int depth(Tree t){
      if(!t) return 0; 
    else { 
        int a=depth(t.right); 
        int b=depth(t.left); 
        return (a>b)?(a+1):(b+1); 
    } 
}

技术分享图片

理解递归

原文:http://www.cnblogs.com/lu-yangstudent/p/7895276.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!