![]() |
1
3
这完全取决于语言。如果您的语言有尾调用递归支持(现在很多时候都有),那么它们将以相同的速度运行。如果不这样做,那么递归版本将变慢并占用更多(宝贵)堆栈空间。 |
![]() |
2
0
这完全取决于语言和编译器。当前的计算机并没有真正面向高效递归,但是一些编译器可以优化某些递归情况,使其像循环一样高效地运行(本质上,它成为机器代码中的循环)。同样,有些编译器不能。 在数学意义上,递归可能更漂亮,但是如果你觉得迭代更舒服,就用它吧。 |