【发布时间】:2019-03-02 03:11:08
【问题描述】:
在下面的代码中,我知道时间复杂度是 O(n),但是我如何以正确的方式证明呢? 是说搜索数组O(n)就够了吗?
int f[N];
F(n)
{
if (f[n] >= 0) return f[n];
f[n] = F(n-1) + F(n-2);
return f[n];
}
int main()
{
read n;
f[0] = 0; f[1] = 1;
for (i = 2; i <= n; i++)
f[i] = -1;
print F(n);
}
【问题讨论】: