黑马程序员技术交流社区

标题: 什么是递归,递归怎么用。是不是嵌套啊? [打印本页]

作者: liaorubei    时间: 2014-9-7 22:47
标题: 什么是递归,递归怎么用。是不是嵌套啊?
递归的关键思想是什么 ???在什么情况下使用?
最近在学算法,有个叫归并算法的东西,其中归并那里的代码我看得懂,是把两个数组合并,可是有个方法是拆分数组的,别人说那里是递归,我就奇怪了,一个方法还没有写完,怎么在这个方法里面还可以用这个方法本身啊。就好像我的画中画一样,里面的画还是画中画,根本想不懂啊。
作者: fantacyleo    时间: 2014-9-7 23:34
递归跟画中画还是有区别。画中画,每个画都是完整的。而每次递归都没有完整执行方法,直到遇到不依赖递归的语句。而这种不完整也正是递归能够实现的原因。你写一个方法,看起来是个整体,但计算机执行时是一条一条语句执行的,执行到递归语句,就重新开辟一个栈,从方法开始处重新执行,执行到递归调用处又开辟一个新栈。。。如此往复。
作者: bullfrog    时间: 2014-9-8 00:54
本帖最后由 bullfrog 于 2014-9-8 00:55 编辑

我觉得你应该看看递归的几个经典例子,你查查斐波那齐数列和汉诺塔



作者: clh    时间: 2014-9-8 01:05
不太一样的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2