没写完的递归

八月和九月交界的一周,来学习递归算法。

真的是被递归给搞怒了,拿出一周来跟它谈谈。


递归是一个反复调用自己的过程,AAAAA ,一层层进去,再一层层出来。我觉得自己一直以来对递归感到迷惑,主要是因为只注意到了进去的过程,而忽视了出来的过程。至于什么停止条件的判断,其实倒还在其次。

我隐约感觉,真正理解递归,能够很熟练地凭感觉写递归,应该要去学习函数式编程,但是这周权且只能写写初级认知了。

我认为写递归要搞清楚两个地方:

  1. 用递归做什么
  2. 在乎的是【递归前】还是【递归后】

第一个问题,是要清楚为什么需要使用递归,在什么地方使用递归。思考清楚了使用递归的场景,也就顺便思考清楚了递归函数的传参、返回值是什么。

第二个问题,是搞清楚在调用递归时,究竟是关注一步步进去,还是关注一点点出来。

递归

画了一张简图,把递归的过程比作【下楼梯】再【上楼梯】的过程。

哎鸭,写着写着发现跟自己想的不太一样,好像要推导重来,可是又到了下一周的周一了。

这周每天晚上都在写一封十年的仪式信,周末又赶上搬家和无手机日,时间没有规划好,不写了,呜呜呜。

下一周学习 spring cloud 。