繁体   English   中英

递归 function 调用次数

[英]Number of recursive function calls

我是 Python 的初学者,我想知道如何获得递归 function 调用的数量? 是 2^n 吗(如果 n 是给定的参数)

调用的数量完全取决于算法。 有时它是 2**n,但有时它可能是 n 或二次方。 或其他任何东西。

要计算它是多少,你可以使用我的方法。 这可能会被其他一些用户回避,但使用全局计数器是一种快速简便的方法来计算 function 调用的数量。

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.")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM