【问题标题】:Maximum subarray Strawman algorithim time complexity enquiry最大子数组 Strawman 算法时间复杂度查询
【发布时间】:2020-12-14 13:46:24
【问题描述】:

我最近遇到了一个叫做稻草人算法的函数,它的伪代码如下所示:

StrawmanSubarray(A):
  Initialize bestsum = A[0]  
  For left=0 to n-1:
     For right = left to n-1:
        Compute sum A[left] + . . . + A[right]
        If sum > bestsum: bestsum = sum

时间复杂度是Θ(n^3),我不太明白第三个n从哪里来得到Θ(n^3)?

【问题讨论】:

    标签: time-complexity big-o sub-array


    【解决方案1】:

    好吧,您正在迭代 Θ (n^2) 次。但是,请注意以下几点:对于每次迭代,您都在执行以下命令: 计算总和 A[left] + 。 . . + A[右] 而这个计算是Θ(n),所以它的Θ(n^2)*Θ(n) = Θ(n^3)。

    【讨论】:

      猜你喜欢
      • 2016-12-05
      • 2017-06-04
      • 1970-01-01
      • 2017-04-12
      • 2017-07-15
      • 2018-02-08
      • 2012-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多