【问题标题】:Finding time complexity using recurrence relations使用递归关系查找时间复杂度
【发布时间】:2014-04-02 03:40:16
【问题描述】:

我有一个递归关系如下:

当 n = 3 时,U(n) = 3
U(n+1) = U(n) + n 当 n > 3

即

n   = 3   4   5   6   7
U(n)= 3   6  10  15  21

这样的时间复杂度是多少?

【问题讨论】:

  • 向我们展示您迄今为止的尝试。

标签: algorithm big-o time-complexity recurrence


【解决方案1】:

作为提示,如果您展开循环,您会看到它的计算结果为

U(n) = (n - 1) + (n - 2) + ... + 3

另外,如果您计算 n(n + 1) / 2(前 n 个正自然数之和),您会得到序列 0、1、3、6、10、15、21 等。您可以通过以下方式使用证明来形式化结果感应。

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    使用递归关系可以获得正式的封闭形式和复杂度增长的顺序:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      • 1970-01-01
      • 2019-07-28
      • 1970-01-01
      • 2018-07-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多