Time complexity 我的算法的时间竞争性

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;

我很难找到一些算法的O时间。我已经搜索了很多注释,但每当我的练习变得更难时,我都找不到解决办法。现在我遇到了一个算法,我真的找不到解决方案。 我已经搜索了堆栈溢出,但没有找到真正有帮助的东西。我找到的最好的帖子是。 它只说了我所知道的,而不是如何计算或看到它。第二篇文章也提到了一些算法和解决方案,但没有提到如何找到它

代码

`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
,所以循环是无限的。很抱歉,这是我输入的错误,我写了它