Я знаю, что Python не поддерживает оптимизацию хвостового вызова. Означает ли это, что рекурсивная процедура с итеративным процессом, подобным факториалу, который я определил ниже, потребляет O (n) памяти, или тот факт, что нет отложенных операций, означает, что пространство будет O (1)?
def factorial(n, accum=1):
if n == 0:
return accum
else:
return factorial(n-1, accum * n)