Recursion 以下代码的运行时
所以我的代码是Recursion 以下代码的运行时,recursion,time-complexity,Recursion,Time Complexity,所以我的代码是 function mystery(n, k): if k ≥ n return foo(n) sum = 0 for i = k to n sum = sum + mystery(n, k+1) return sum 我已经创建了一棵树,得到的答案是$n^2*(n-1)!$。foo在哪里是O(n.)是正确的吗?你是正确的。如果将递归转化为迭代,则循环将运行三角形(n-k)次,其中triangle是三角形
function mystery(n, k):
if k ≥ n
return foo(n)
sum = 0
for i = k to n
sum = sum + mystery(n, k+1)
return sum
我已经创建了一棵树,得到的答案是$n^2*(n-1)!$。foo在哪里是O(n.)是正确的吗?你是正确的。如果将递归转化为迭代,则循环将运行三角形(n-k)次,其中triangle是三角形函数,即整数1到n的和 三角形(N)=N*(N-1)/2 把这个乘以O(n),去掉1/2常数,得到你的答案
[N.B.k是一个常数,出于复杂性的考虑,你也可以去掉它]嗨,我写了N^2*(N-1)阶乘。是这样吗?是的。我的错误;它是阶乘(积1到n),而不是三角形(和1到n)。