2016-03-01 27 views
-5

所以我们刚刚完成在学校的学科递归,我仍然不知道“为什么?”。递归何时使用?

我觉得我刚才已经学到了很多关于数学的地狱编程方式与后来通过考试的唯一目的,然后永远不再。

所以,我想知道的是什么时候使用它?我只能找人说:“当你想在自身内部调用一个函数”但为什么要这么做?

+0

[什么是递归和什么时候应该使用它?](http://stackoverflow.com/questions/3021/what-is-recursion-and-when-should-i-use-it) –

+0

我知道什么它是但是何时使用它是的 – Nulle

回答

2

递归是计算的基础,每一个可能的程序都可以表示为一个递归函数(在lambda演算中)。因此,理解递归可以让你更深入地理解计算的原理。其次,递归也是理解元级的工具:自然数的很多证明都遵循一种称为“自然感应”的模式,这是结构感应的一种特殊情况,这又可以让你理解特性非常复杂的系统以相对简单的方式。最后,它还有助于编写出好的(即可读的)算法:无论何时有重复计算中存储/处理的数据(即多于递增计数器),您都可以使用递归函数隐式管理堆栈为你。由于大多数系统都配备了机器堆栈,因此这通常也非常有效。

+0

非常感谢你choeger! – Nulle

+0

接受我的答案如何? – choeger

+0

对不起。以为我有。 – Nulle