Time complexity 我的算法的时间竞争性
我很难找到一些算法的O时间。我已经搜索了很多注释,但每当我的练习变得更难时,我都找不到解决办法。现在我遇到了一个算法,我真的找不到解决方案。 我已经搜索了堆栈溢出,但没有找到真正有帮助的东西。我找到的最好的帖子是。 它只说了我所知道的,而不是如何计算或看到它。第二篇文章也提到了一些算法和解决方案,但没有提到如何找到它 代码Time complexity 我的算法的时间竞争性,time-complexity,complexity-theory,Time Complexity,Complexity Theory,我很难找到一些算法的O时间。我已经搜索了很多注释,但每当我的练习变得更难时,我都找不到解决办法。现在我遇到了一个算法,我真的找不到解决方案。 我已经搜索了堆栈溢出,但没有找到真正有帮助的东西。我找到的最好的帖子是。 它只说了我所知道的,而不是如何计算或看到它。第二篇文章也提到了一些算法和解决方案,但没有提到如何找到它 代码 `for i = 1; i <= n; i++ for j = 1; j <= i; j++ for k = 1; k <= i;
`for i = 1; i <= n; i++
for j = 1; j <= i; j++
for k = 1; k <= i; k++
x = x + 1
`
`表示i=1;我
- 定义
i
的循环运行n
次
- 定义
j
的循环运行n*n/2次
- 定义
k
的循环运行n*n/2*n/2
次
=n*1/2*n*1/2*n
=n*n*n*1/2*1/2
=O(n^3)
您还可以尝试从变量x
的最终值推断,该值应大致与n^3
成比例
- 定义
i
的循环运行n
次
- 定义
j
的循环运行n*n/2次
- 定义
k
的循环运行n*n/2*n/2
次
=n*1/2*n*1/2*n
=n*n*n*1/2*1/2
=O(n^3)
您还可以尝试从变量x
的最终值推断,它应该大致与n^3
您的最后一个for循环增量j
,而不是k
,因此循环是无限的。很抱歉,我输入错误,我将其写入了您的最后一个for循环增量j
,不是k
,所以循环是无限的。很抱歉,这是我输入的错误,我写了它