相关疑难解决方法(0)

什么是尾递归?

在开始学习lisp时,我遇到了尾递归这个术语.这究竟是什么意思?

language-agnostic algorithm recursion functional-programming tail-recursion

1602
推荐指数
27
解决办法
42万
查看次数

尾递归与头经典递归

我经常听到Scala课程和解释:"但在实际代码中我们不使用递归,而是使用尾递归".

这是否意味着在我的Real代码中我不应该使用递归,但是尾递归非常类似于循环并且不需要史诗短语"为了理解递归,您首先需要理解递归".

实际上,考虑到你的堆栈..你更可能会使用类似循环的尾递归.

我错了吗?这种"经典"递归是否仅适用于教育目的,让您的大脑回到大学过去?

或者,尽管如此,我们还可以使用它..递归调用的深度小于X(其中X是堆栈溢出限制).或者我们可以从经典递归开始编码,然后,害怕你的堆栈吹了一天,应用几个重构使它像尾巴一样在重构领域使用更强大?

问题:你会使用/在你的真实代码中使用'经典头'递归的一些真实样本,可能还没有重构为尾部的一个?

只是为了好玩,找到了关于该主题的精彩图片

recursion scala

14
推荐指数
1
解决办法
3795
查看次数