我需要通过归纳证明 -
T(n) = T(n-1) + c2 , T(1) = c1
The run time complexity is - T(n) = O(n)
在基础案例和归纳假设后的归纳步骤中,我写了 -
T(k+1) = T(k) + c2 = O(k) + c2 = O(k + 1)
但是为了证明这种运行时复杂性,我需要证明存在 C,N0> 0所以最终的不等式是真的。
如果有人可以告诉我如何找到/或更正我的感应。 感谢。
答案 0 :(得分:1)
要通过归纳证明,你必须做三个步骤。
- 定义命题
为n
P(n)
- 显示
对基本案例
P(n_0)
n_0
- 醇>
假设
P(k)
为真且展示P(k+1)
也属实
您似乎没有具体定义P(n)
。
所以请P(n) := there exists constant c(>0) that T(n) <= c*n.
你的诱导步骤将是这样的:
假设P(k)
为真。然后P(k+1) = T(k) + c2
P(k)
,there exists constant c_k(>0) that T(k) <= c_k*k
。
所以T(k+1) = T(k) + c2 <= c_k*k + c2 <= (c_k+1)*k + (c_k+1) = (c_k+1)*(k+1)
(如果我们选择c_k+1 = max(c_k, c2)
)
所以P(k+1)
是真的。
for every n > n_0=1, there exists constant c(>0) that T(n) <= c*n.
P.S。 here你可以得到一些关于归纳的读物。此外,在麻省理工学院开放式课程中,课程6042J提供了很好的入门讲座和强大的归纳,你可以练习并获得直觉。