performance - 为什么要使用递归?

标签 performance recursion iteration

<分区>

我想知道,为什么人们要使用递归?在我的大部分学习经历中,我发现它比迭代方法效率低得多,那么人们为什么要使用它呢?是因为您可以简单地编写一个更短的方法吗?它是否用于类环境(或学习目的)之外的真实世界编程?如果是,请提供一个很好的例子,我很好奇。

在此先感谢您的帮助!非常感谢!

最佳答案

如果你有一个树数据结构,并且你想以深度优先的顺序遍历它,递归是唯一的方法。

如果您想为具有上下文无关规则的典型语言编写解析器,就像现有的所有编程语言一样,递归下降解析器是一种简单而自然的方法。 存储空间有限,没有迭代方法。

关于performance - 为什么要使用递归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20332110/

相关文章:

java - 重复一个整数n次

performance - resource_stall.other可能意味着什么

python - 使用尾递归找到二叉树的最大深度

c - 将带有 for 循环的递归函数转变为纯递归

mysql - 在这种情况下递归是最佳解决方案吗?

python - 在遍历迭代器时重新分配迭代器的值

java - Spring Batch - 了解 block 大小和 ItemReadListener 之间的行为

c - 字符串格式化时间优化 : pad a line to length K by adding spaces between words

c++ - 为什么 (n += 2 * i * i) 在 C++ 中比 (n+= i) 快?

java - 如何通过 RequestFactory 高效使用 RestTemplate?