递归函数是否具有它自己的时间复杂度。
就像for
循环的时间复杂度一样,循环“' n'时间是大O(n)。
类似地,递归函数具有固定的时间复杂度,或者它取决于问题。
答案 0 :(得分:2)
另外,递归函数如下:
func linear(n):
return (n <= 1) ? 1 : n * linear(n-1)
具有复杂性O(n)。
但是在这个例子之后
func exponential(n):
if n <= 1: return 1
exponential(n-1)
exponential(n-1)
你可以认为它会降低2n,尽管真正的复杂度是O(2 ^ n)
答案 1 :(得分:0)
您可以使用master theorem。它有助于确定递归函数的时间复杂度。