递归的实质是能够把一个大问题分解第一

Posted lonele

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归的实质是能够把一个大问题分解第一相关的知识,希望对你有一定的参考价值。

前言

递归,是一个非常重要的概念,也是面试中非常喜欢考的。因为它不但能考察一个程序员的算法功底,还能很好的考察对时间空间复杂度的理解和分析。

本文只讲一题,也是几乎所有算法书讲递归的第一题,但力争讲出花来,在这里分享四点不一样的角度,让你有不同的收获。

  • 时空复杂度的详细分析
  • 识别并简化递归过程中的重复运算
  • 披上羊皮的狼
  • 适当炫技助我拿到第一份工作

算法思路

大家都知道,一个方法自己调用自己就是递归,没错,但这只是理解递归的最表层的理解。

那么递归的实质是什么?

答:递归的实质是能够把一个大问题分解成比它小点的问题,然后我们拿到了小问题的解,就可以用小问题的解去构造大问题的解。

那小问题的解是如何得到的?

答:用再小一号的问题的解构造出来的,小到不能再小的时候就是到了零号问题的时候,也就是 base case 了。

以上是关于递归的实质是能够把一个大问题分解第一的主要内容,如果未能解决你的问题,请参考以下文章

第一第二体感区是啥、怎么区分?

算法第三章

软工第一次个人作业 需求分析模块规划与时间规划

EXCEL表格中,第一第二行看不到了怎么办

每日分享.

递归思想