关于递归的时间成本

时间:2014-07-05 19:10:10

标签: recursion runtime iteration

如果程序既可以通过递归也可以通过迭代来编写,如果我们必须决定其中一种方式,只是基于较少的浪费时间,那么哪种方法会更快 - 递归或迭代?

1 个答案:

答案 0 :(得分:1)

这取决于。由于递归或迭代方法,算法的实现没有或多或少地有效,但是因为一些问题和算法本身更适合递归实现,而另一些更好地用于迭代实现。除了效率之外,简单性也可以成为一种说法 - 递归可以帮助实现非常优雅的实现。我认为源代码的优雅或简单性高于接近可忽略的性能增益或惩罚。但在某些情况下,由于可预测的堆栈使用等原因,我会选择迭代解决方案。当代码必须在内存受限的环境(例如小型微控制器)中运行时