我对代码段的运行时分析是否正确?
Is my runtime analysis of the code segment correct?
这类似于这个问题runtime analysis of the following recursive method
我正在尝试分析这段代码
为了分析这个,我看到外循环要执行 n/c 次。然后外层循环每执行运行s,内层循环也会执行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 我不确定是否正确。
(c *(n)(n + 1))/2
= c*(n^2 + n)/2
= (c/2)*(n^2 + n)
去掉常量并保持 n 的最高次幂给出 O(n^2)
的最终答案
对于这个问题,下面是如何分析的
外循环 运行 的次数最多是 n⁄c 并且每次外循环的迭代循环 运行s,内循环也会 运行 最多 n⁄c 次。
因此最坏情况大O运行这个算法的时间是O(n2 ⁄c2) 或 O(n2)
这类似于这个问题runtime analysis of the following recursive method
我正在尝试分析这段代码
为了分析这个,我看到外循环要执行 n/c 次。然后外层循环每执行运行s,内层循环也会执行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 我不确定是否正确。
(c *(n)(n + 1))/2
= c*(n^2 + n)/2
= (c/2)*(n^2 + n)
去掉常量并保持 n 的最高次幂给出 O(n^2)
的最终答案对于这个问题,下面是如何分析的
外循环 运行 的次数最多是 n⁄c 并且每次外循环的迭代循环 运行s,内循环也会 运行 最多 n⁄c 次。
因此最坏情况大O运行这个算法的时间是O(n2 ⁄c2) 或 O(n2)