首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不进行尾部调用优化的尾递归

不进行尾部调用优化的尾递归
EN

Stack Overflow用户
提问于 2021-03-01 05:21:03
回答 1查看 25关注 0票数 0

假设我们有两个版本的递归函数,其中一个是尾递归函数。如果所使用的语言没有尾部调用优化,那么使用函数尾递归有什么好处吗?据我所知,在没有优化的情况下,函数的每个版本(尾部和非尾部)将使用相同数量的堆栈框架(在大多数情况下)。

我知道在某些情况下,例如Fibonacci函数,即使没有尾部调用优化,使用尾部调用也会更有效率,因为它避免了双重调用。但是,如果两个版本的函数都没有进行双重调用呢?尾递归函数还会更高效吗?

EN

回答 1

Stack Overflow用户

发布于 2021-03-01 05:28:51

这个问题的答案取决于硬件和语言实现。然而,在大多数情况下,我不得不认为一个简单的GOTOCALL-RETURN指令对更快。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66413940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档