我是Python的初学者,我想知道如何获得递归函数调用的数量? 是2 ^ n(如果n是给定的参数)
答案 0 :(得分:1)
调用次数完全取决于算法。有时它是2 ** n,但其他时候可能是n!或二次方或其他任何形式。
要计算出多少个,可以使用我的方法。某些其他用户可能会避免这样做,但是使用全局计数器是计算函数调用数量的快速简便的方法。
function_calls = 0
def fibonacci_recursive(n):
global function_calls
function_calls += 1
if n == 0:
return 1
elif n == 1:
return 1
else:
return fibonacci_recursive(n-1) + fibonacci_recursive(n-2)
ans = fibonacci_recursive(20)
print("There were",function_calls,"function calls.")