算法之递归

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

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

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

 

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

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

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

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

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

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

posted on   新西兰程序员  阅读(22)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示