关于算法中使用递归问题?

使用递归算法虽然在程序上可读性较好,但有诸多问题:

  1. 随着计算规模的增大,可能会导致调用栈溢出

  2. 每次函数调用,都有时间与空间上的开销。性能不太好

  3. 不易测试,规模小时,代码是正确的;不能保证规模大时也正确。

问题:是不是在我们平时写代码时,要尽量避免使用递归,而用等价的循环代替?

谢谢!


沧海一幻觉
浏览 1189回答 3
3回答

慕码人2483693

这个还是看具体情况,如果有稳定的非递归算法建议还是采用。但一些问题基本上非递归太难处理了。

慕码人8056858

“尾递归”可以了解下,有递归的优点,同时不用担心栈溢出。
打开App,查看更多内容
随时随地看视频慕课网APP