我知道 Python 不支持尾调用优化。这是否意味着具有迭代过程的递归过程(如我在下面定义的阶乘)会消耗 O(n) 内存,或者没有延迟操作这一事实是否意味着空间将为 O(1)?
def factorial(n, accum=1):
if n == 0:
return accum
else:
return factorial(n-1, accum * n)
我知道 Python 不支持尾调用优化。这是否意味着具有迭代过程的递归过程(如我在下面定义的阶乘)会消耗 O(n) 内存,或者没有延迟操作这一事实是否意味着空间将为 O(1)?
def factorial(n, accum=1):
if n == 0:
return accum
else:
return factorial(n-1, accum * n)