最大子数组Strawman算法时间复杂度查询

问题描述

最近,我遇到了一个名为Strawman算法的函数,其伪代码如下所示:

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)?

解决方法

那么,您正在迭代Θ(n ^ 2)次。但是,请注意以下几点:对于每次迭代,您都在执行以下命令: 计算总和A [left] +。 。 。 + A [右] 并且此计算为Θ(n),因此其Θ(n ^ 2)*Θ(n)=Θ(n ^ 3)。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...