我找不到某些算法的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
`
问题
此算法的时间复杂度是多少?
另外,是否有一些很好的教程可以帮助我更好地理解这个问题?
也很抱歉,如果有一个堆栈溢出的帖子,但我找不到一个好的帮助我。
答案 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
大致成比例