算法

时间:2017-05-20 08:52:15

标签: time-complexity complexity-theory

我找不到某些算法的O时间。我搜索了很多O符号,但每当我的练习变得更难,我找不到解决方案。现在我遇到了一个算法,我无法找到解决方案。 我搜索了Stack Overflow,但没有找到真正帮助我的东西。我找到的最好的帖子是this。 它只说了我所知道的,而不是真正如何计算或看到它。第二篇文章也说了一些有解决方案的算法,但没有找到如何找到它。

守则

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

问题

此算法的时间复杂度是多少?

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

也很抱歉,如果有一个堆栈溢出的帖子,但我找不到一个好的帮助我。

1 个答案:

答案 0 :(得分:2)

  • 定义Average waiting time: 1.9738361405998677 minutes Server free fraction: 47.27% Maximum queue length: 11 Total customers arrived: 468 Total customers served : 452 Total customers >6min : 13 fraction : 0.028761061946902654 server avg : 2.1880341880341883 ============================================================================= Average percent of customers waiting more than 6 minutes (100 trials) : 3.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大致成比例