2017-05-20 75 views
0

我在找到一些算法的O时间方面遇到了麻烦。我搜查了很多O符号,但每当我的运动变得更加困难时,我找不到解决方案。现在我遇到了一个算法,我找不到解决方案。 我已经通过堆栈溢出搜索,但没有发现真正帮助我。我发现的最好的帖子是this。 它只是说出我所知道的,而不是如何计算或看到它。第二篇文章也提出了解决方案的一些算法,但不是如何找到它。我算法的时间复杂性

守则

`for i = 1; i <= n; i++ 
    for j = 1; j <= i; j++ 
     for k = 1; k <= i; k++ 
      x = x + 1 
` 

问题

这是什么算法的时间复杂度?

另外,是否有一些很好的教程来帮助我更好地理解这个问题?

另外对不起,如果有这个allready堆栈溢出后,但我找不到一个好帮助我。

+0

你最后的循环增值'j',不'k',因此该循环是无限 – Coolness

+0

对不起,这是一个录入错误从我,我编辑它 –

回答

2
  • 循环定义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