是否应该避免在 C/C++ 中使用函数的递归调用?
我从事机器学习/数据挖掘工作,因此使我的代码具有可扩展性对我来说非常重要。
当我使用Java时,我尽可能避免使用递归调用,因为我经常会导致调用堆栈溢出。尽管有一些选项可以控制分配给调用堆栈的内存量,但我认为让我的程序依赖较少数量的参数更为理想。因此,当清楚如何在没有递归调用的情况下实现(可能使用我自己管理的堆栈)时,我就这样做了。但即使在 Java 中,我也不确定这是否是一个正确的规则。
据我所知,C/C++中没有调用堆栈,所以我不担心它会溢出。因此,我很好奇:就程序的可扩展性而言,人们会尝试避免使用递归,还是鼓励使用递归,或者它是针对特定问题的?
这个问题没有单一的正确答案。对于某些问题,递归非常有效。对于其他人来说,则不然。
据我所知,C/C++中没有调用堆栈
需要明确的是,这是不正确的:有is我所知道的所有 C 和 C++ 实现中的调用堆栈。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)