微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

递归还是迭代?

如何解决递归还是迭代?

取决于递归函数是否为尾递归(最后一行是递归调用),递归可能会更昂贵。尾递归应该 由编译器识别,并针对其迭代对等进行优化(同时保持代码中简洁明了的实现)。

我将以最有意义的方式编写该算法,并且对于必须在几个月或几年内维护代码的可怜的傻瓜(无论是您本人还是其他人)最清晰。如果遇到性能问题,请先分析代码,然后再过渡到迭代实现,然后再进行优化。您可能需要研究记忆动态编程

解决方法

如果我们在算法中都可以使用循环而不是递归来替代递归,或者反之亦然,那么两者都可以达到相同的目的吗?例如:检查给定的字符串是否是回文。我已经看到许多程序员使用递归来证明简单的迭代算法何时可以胜任。编译器在决定使用什么时起重要作用吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。