Questions tagged «tail-recursion»

2
缺点的什么性质可以消除尾部递归模缺点?
我熟悉基本尾部递归消除的概念,其中可以将返回调用自身直接结果的函数重写为迭代循环。 foo(...): # ... return foo(...) 我还了解,在特殊情况下,如果将递归调用包装在对的调用中,则仍然可以重写该函数cons。 foo(...): # ... return (..., foo(...)) 的什么性质cons允许?除了cons可以包装递归尾部调用而又不破坏我们迭代重写的功能之外,还有哪些功能呢? GCC(但不是Clang)能够优化 “尾递归模乘 ”的示例,但是尚不清楚哪种机制可以发现它或如何进行转换。 pow(x, n): if n == 0: return 1 else if n == 1: return x else: return x * pow(x, n-1)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.