算法篇之递归

递归算法概念:
递归(Recursion)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法,其核心思想是分治策略。 递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。绝大多数编程语言支持函数的自调用,在这些语言中函数可以通过调用自身来进行递归。
在开发很多时候都能使用到,光会for循环是远远不够,还是需要学学一些别的方法,好了谈谈正题,首先递归简单点说就是方法本身自己的调用,如下:
在这里插入图片描述
这也是最简单的递归,像什么递归回溯啊啥的,up也是没有弄明白,先把能弄懂的弄懂,
然后我是在leetecode里面经常刷到,然后就想记录一下:
算法篇之递归_第1张图片
这题就是使用到了递归,题目叫啥中序遍历,一开始看到题就懵了,然后特意查询了中序遍历是啥玩意,了解了才知道中序遍历就是它遍历的方式是从左到右遍历下面回放大概的图解,然后这题的是思路大概是这样的思路,先将左边节点全部遍历完成,在记录每个中间节点的值到集合,然后最后才做右节点遍历。下面看图:先看看中序遍历:
算法篇之递归_第2张图片基本吧看到图和结果就懂了,然后看看那道题的思路:
算法篇之递归_第3张图片
算法篇之递归_第4张图片
然后这是借鉴的思路,我觉得这个很容易去帮助理解,然后就记录下来了。
原文地址:https://cloud.tencent.com/developer/article/1356049

你可能感兴趣的:(递归,算法)