Time 此伪代码的运行时间

Time 此伪代码的运行时间,time,time-complexity,Time,Time Complexity,请帮我找出以下代码段的时间复杂度。是O(n^3)吗?我认为不是因为3号线依赖于2号线。我真的很难过,我需要你的帮助。请提供解决方案。多谢各位 最初的想法:我想是吧 编辑:最里面的k,下一次会打1,1和2,下一次会打1,2和3。。。这是线性的。。。它只是以一定的间隔停止。由于它是线性的,我自然会说N 所以,在考虑了O(n^3)之后,你可以这样想: 当需要时,在循环中走一半 1 for i = 1 to n 2 for j = i to n 3 for k = 1 to j 4

请帮我找出以下代码段的时间复杂度。是O(n^3)吗?我认为不是因为3号线依赖于2号线。我真的很难过,我需要你的帮助。请提供解决方案。多谢各位

最初的想法:我想是吧

编辑:最里面的k,下一次会打1,1和2,下一次会打1,2和3。。。这是线性的。。。它只是以一定的间隔停止。由于它是线性的,我自然会说N


所以,在考虑了O(n^3)之后,你可以这样想:

当需要时,在循环中走一半

1 for i = 1 to n
2    for j = i to n
3       for k = 1 to j
4          statements which take O(1) time
第一个正在运行

 i = n/2
for i = 1 to n
    for j = i to n
       for k = 1 to j
          statements which take O(1) time
第二个也运行

n/2 times
n/2 times(n-n/2)
第三个也运行

n/2 times
n/2 times(n-n/2)
因此在这种情况下,
n/2*n/2*n/2
给出了
(n^3)/8
,这是

n/2 times (1 to n/2)

此外,您可以通过获取代码,运行代码,然后绘制结果来测试这一点。