Algorithm 求解重复问题的替换法
首先,很抱歉问了这么一个基本的问题 但我在理解解决复发问题的替换方法时遇到了困难。我将介绍Algo.s-CLRS。因为我找不到足够的例子,歧义是主要的问题。特别是归纳步骤。在教科书中,我们必须证明f(n)意味着f(n+1),但在CLRS中,这一步骤缺失,或者可能我没有得到例子。请逐步说明如何证明O(n^2)是递推函数T(n)=T(n-1)+n的解Algorithm 求解重复问题的替换法,algorithm,substitution,recurrence,induction,Algorithm,Substitution,Recurrence,Induction,首先,很抱歉问了这么一个基本的问题 但我在理解解决复发问题的替换方法时遇到了困难。我将介绍Algo.s-CLRS。因为我找不到足够的例子,歧义是主要的问题。特别是归纳步骤。在教科书中,我们必须证明f(n)意味着f(n+1),但在CLRS中,这一步骤缺失,或者可能我没有得到例子。请逐步说明如何证明O(n^2)是递推函数T(n)=T(n-1)+n的解 我想了解的是替换法的一般步骤。如果你能对强大的数学归纳法有所了解,并提供到替代方法材料的链接,这也会很有帮助。在替代方法中,只需将T(k)的任何出现替
我想了解的是替换法的一般步骤。如果你能对强大的数学归纳法有所了解,并提供到替代方法材料的链接,这也会很有帮助。在替代方法中,只需将
T(k)
的任何出现替换为T(k-1)+k
,然后迭代执行即可
T(n) = T(n-1) + n =
= (T(n-2) + (n-1)) + n =
= T(n-3) + (n-2) + (n-1) + n =
= ... =
= 1 + 2 + ... + n-1 + n
从中,可以得到T(n)在O(n^2)
中
请注意,替代方法通常用于获得关于复杂性的直觉,以正式证明它-您可能需要不同的工具-例如
正式的证据将是这样的:
Claim: T(n) <= n^2
Base: T(1) = 1 <= 1^2
Hypothesis: the claim is true for each `k < n` for some `n`.
T(n) = T(n-1) + n <= (hypothesis) (n-1)^2 + n = n^2-2n + 1 < n^2 (for n > 1)
索赔:T(n)