以下是解决方案,但我无法通过归纳部分理解证明的 1 部分。为什么你可以在一侧加+2,在另一侧加+4?
我们正在处理函数T(n) = 2n + 2
我们想找到 ac 使得T(n) <= c * f(n)
对于大n
我们有T(n) = 2n + 2
和f(n) = n
,所以我们需要2n + 2 <= c * n
我们求解c并得到2 + 2/n
2/n
在 n = 0 时未定义,因此我们选择t >= 1
. 我们会选择t=1
,所以c=4
归纳证明:
T(n) <= c * f(n)
(2n + 2) <= (4)(n)
+2 +4 <---- Don't understand
2n + 4 <= 4n + 4
2(n + 1) + 2 <= 4(n + 1)
T(n + 1) <= c * f(n + 1)
结论:2n + 2 ∈ O(n)