java - 我对代码段的运行时分析是否正确?

标签 java algorithm for-loop time-complexity

这类似于这个问题runtime analysis of the following recursive method

我正在尝试分析这段代码 enter image description here

为了分析这一点,我看到外层循环将执行 n/c 次。然后每次外循环运行时,内循环也会执行 n/c 次。因此,如果您放弃常量,该段总共将运行 n^2/c^2 或 O(n^2)。

是否也有一种视觉方式可以做到这一点,类似于(来自 http://courses.cs.washington.edu/courses/cse373/15wi/lectures/lecture3.pdf)幻灯片 19?我尝试这样做但得到了 (c *(n)(n + 1))/2 我不确定是否正确。

enter image description here

最佳答案

(c *(n)(n + 1))/2

= c*(n^2 + n)/2

= (c/2)*(n^2 + n)

去掉常量并保持 n 的最高次幂给出 O(n^2) 的最终答案

关于java - 我对代码段的运行时分析是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28377963/

相关文章:

java - isFile() 的 java 文件也可以是 isDirectory() 吗?

java - 让 Install4j 安装程序显示 --version 信息

algorithm - 具有最大成本的加权无向图中的顶点游览?

javascript - for循环只返回reactJS中的初始索引

javascript - 使用 for 循环语句理解数组迭代

python - 如何在单行 FOR 循环中简化列表数字的乘法?

java - 如何仅绘制传感器的当前数据点?

algorithm - 如何从日期范围集中计算 "Outersections"

python - 如果循环 x 次,计算列表项通过次数的公式是什么

java - Spring Boot Web 应用程序的 Logback 配置