递归的实际用法

时间:2016-10-02 23:53:36

标签: recursion

在递归是最佳解决方案还是唯一解决方案时,是否存在任何实际问题?在这里,我暗示真正应用程序的开发人员应该在目标系统上处理堆栈大小,堆栈溢出等的附带问题。

更新: 可能是我的问题被制定错了。我知道有些问题可以使用递归来解决。但是我认为在现实世界中编码器应该以某种方式处理与递归解决方案相关的任何问题:例如堆栈溢出。确定目标系统参数可能很复杂。因此,例如,我可以假设有人应该在任何复杂问题中避免递归。

1 个答案:

答案 0 :(得分:0)

这取决于你的意思。递归,堆栈和树是密切相关的。如果我们对树状数据进行操作,我们必须在某个地方有一个我们推送和弹出的堆栈,然后我们在树上上下移动。

但总是可以使用您碰巧使用的计算机编程语言将该堆栈移出调用堆栈。简单地使用调用堆栈通常更方便,但有些语言不允许递归函数,而在C中则不可能保护调用堆栈不被溢出。但是你没有摆脱递归,你只是将堆栈移到别处。