算法之递归

递归算法是一种直接或者间接调用自身函数或者方法的算法,也就是说在函数内部再次调用自己。简单点: 就是自己调用自己

 这个算法的核心思想: 就是原问题,可以不断地分解成规模更小的子问题,但是子问题和原问题完全是同一种类型的问题。也就是说用解决子问题的方法,同样可以解决原问题。这样,我们就可以通过递归的形式来调用方法,来表示问题的解。 

所以 递归算法,其实就是分为2个大的阶段: 递和归, 也就是 有去(递去)   有回(归来)

 

 递去:  将递归问题分解成若干个规模较小,与原问题形式相同的子问题,这些子问题可以看成是规模更小的原问题,所以,它们都可以用和原问题一样的解题思路来解决

归来:  当你将问题不断缩小规模递去的时候,必须有一个明确的结束递去的临界点,也就是结束递归的出口,一旦达到这个临界点就该从该点原路返回到原点,这样,原问题得到解决

递归思维是一种从下往上的思维方式,设计一个递归算法,我们要提取三点:

1. 提取重复的逻辑,缩小问题的规模,不断递归下去

2. 找到并明确递归终止的条件

3. 找出递归终止时的处理方法

posted on 2023-12-23 14:49  新西兰程序员  阅读(5)  评论(0编辑  收藏  举报