我有一个我正在尝试实现的算法。我被要求确定一个描述其最坏情况运行时间的函数。作为输入,它需要一个一定长度的数组(我们称之为 n)。那么它的作用如下:
if (n==0){ return 0;}
else if(n==1){return A[0];}
else{
return f(n-1)+f(n-2)
}
对不起,如果我对实现细节有点稀疏,但从某种意义上说,它与 fibbanoci 序列之类的东西非常相似。我在想这个算法的最坏情况运行时间是 t(n)=2^n,因为如果 n 很大,它会分解成 2 个单独的计算,然后又会分解成 2 个,依此类推。我只是不确定如何正式证明这一点