递归什么时候使用它?

时间:2016-03-01 13:30:47

标签: recursion

所以我们刚刚在学校完成了主题递归,我仍然想知道“为什么?”。

我觉得我刚刚在编程方式中学到了很多关于数学的知识,其唯一目的是稍后通过考试,然后再不再考虑。

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

1 个答案:

答案 0 :(得分:2)

递归是 计算的基础,每个可能的程序都可以表示为递归函数(在lambda演算中)。因此,理解递归可以让您更深入地理解计算原理。

其次,递归也是理解元级别的工具:对自然数字的大量证明遵循称为"自然归纳"的模式,这是结构归纳的一个特例,反过来允许您可以用相对简单的方式理解非常复杂系统的属性。

最后,它还有助于编写好的(即可读的)算法:每当有重复计算存储/处理数据时(即不仅增加计数器),您可以使用递归函数隐式管理堆栈您。这通常也非常有效,因为大多数系统都附带了一个机器堆栈。