Hy
如何显示以下内容: f(n)< = f(n-1)+ f(n-2)+ .. + f(1)意味着f(n)= O(2 ^ n)
我认为我们可以假设f单调递增=>
f(n)< = n * f(n-1)
答案 0 :(得分:1)
可能通过归纳:f(j)< = c * 2 ^(j)对于所有j< Ñ
然后f(n)< = c(2 ^(n-2)+ 2 ^(n-3)+ ... + 2 ^(1))< = c * 2 ^(n + 1 )
我不确定c是否依赖于j,所以我们是否应该写: 然后f(n)< = c_(n-2)(2 ^(n-2)+ c_(n-3)2 ^(n-3)+ ... + c_1 2 ^(1))< = c * 2 ^(n + 1)
答案 1 :(得分:0)
你走在正确的轨道上
f(1)< = f(0)
f(2)< = f(0)+ f(1)
| F(2)| < = f(0)| 2 ^ 2 |
| F(1)| < = f(0)| 2 ^ 1 |
| F(0)| < = f(0)| 2 ^ 0 |
其中f(0)是常数
令x为常数(等于f(0))
假设| f(i)| < = x | 2 ^ i |对于所有i< = n
的值
然后f(n + 1)< = f(n)+(f(n-1)+ f(n-2)+ ... + f(0))
==> | F(N + 1)| < = | f(n)| + |(f(n-1)+ f(n-2)+ ... + f(0))|
==> | F(N + 1)| < = x | 2 ^ n | + x | 2 ^ n-1 | + x | 2 ^ n-2 | + .. + x
==> | F(N + 1)| < = x | 2 ^(n + 1)|
所以情况n意味着案例n + 1
通过归纳,声明适用于N
中的所有n根据Big-O表示法的定义,f(x)在O(2 ^ n)