【问题标题】:Could you please check if this substitution is right so far? [closed]您能否检查一下这个替换到目前为止是否正确? [关闭]
【发布时间】:2012-12-10 02:01:56
【问题描述】:

问题:

使用重新代入求解以下递推方程:

T(N) = 2T(n-1) + n; n >=2 且 T(1) = 1

到目前为止,我有这个:

T(n) = 2T(n-1) + n

= 2(2T(n-2) + (n-1)) + n

= 4T(n-2) + 3n -2

= 2(4T(n-3) + 3(n-1) -2) + n

= 2(4T(n-3) + 3n -3 -2) + n

= 2(4T(n-3) + 3n -5) + n

= 8T(n-3) + 6n - 10 + n

= 8T(n-3) +7n -10

我只是想知道到目前为止,我处理这个问题的方式是否正确。 任何帮助表示赞赏,谢谢。

【问题讨论】:

    标签: algorithm math equation substitution recurrence


    【解决方案1】:

    这一步错了:

    = 4T(n-2) + 3n -2
    
    = 2(4T(n-3) + 3(n-1) -2) + n
    

    应该是

    = 4T(n-2) + 3n -2
    
    = 4(2T(n-3) + (n-2)) + 3n - 2
    

    您将T(n-i) 替换为2T(n-i-1) + (n-i)

    除此之外,我认为你弄错了。你的老师希望你做的是感受T(n) 的价值。在这种情况下,您会看到每次迭代时,都将第一个系数乘以 2,最后得到一个类似 an+b 的成员。这意味着 T(n) = 2^n + O(n) 因为只有最大的成员才重要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-13
      • 2021-07-02
      • 2013-07-06
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      • 2010-12-22
      • 2022-01-24
      相关资源
      最近更新 更多