初学编程对递归思想很难理解,求前辈指导一下

2020-01-29 16:46:58 +08:00
 w2bgopher

刷题的时候经常遇到需要递归的思想,但是我看答案的递归无法想象出它的结果是什么形成的,感觉十分的抽象,尤其是对于一些树,图的遍历已经其他需要递归完成的操作。

11701 次点击
所在节点    程序员
84 条回复
deepred
2020-02-01 08:59:58 +08:00
AndyZhuAZ
2020-02-01 09:43:25 +08:00
画个图,或者联想一下数学里的高阶导数((f'(x)')')'
RickyC
2020-02-01 10:12:45 +08:00
我觉得轻易不要使用递归.
jxie0755
2020-02-12 04:28:03 +08:00
很多人说了很多各种高端术语, 什么域啊, 堆栈啊, 什么生命周期啊, 都是些已经懂了什么叫递归再反过来看问题的人说出来的话, 对你一个不理解什么是递归的人没有什么帮助.

我作为一个几年前的新手用最通俗的话告诉你. 去找一个最简单的递归函数, 比如斐波那契, 求第 10 个数, 一定要彻底了解它是怎么运行的. 自己用手画出来.

然后你就懂了, 因为它在执行的时候, 还没结束, 还没返回结果, 就遇到了它自己, 于是又进入了这个函数一次, 不断进入直到不需要进入为止, 因为你最终遇上了最简单的情况, 直接得到了结果. 最后再把结果一步步推回去.

最重要的一句话就是: 递归函数就是从头一路看到脚, 在从脚一路返回到头.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/640834

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX