好的我正在参加算术课,正在为考试学习... 不幸的是..我无法理解嵌套循环时间分析背后的概念
此代码中有三个循环
for (i=1->n)
for (j=1->i)
for (k=1->i)
x=x+1;
我无法理解如何找到答案:s 任何答案都会有很大的帮助 谢谢伙计:)
答案 0 :(得分:3)
你需要总结一下循环,它只是需要计算的多个sigmas:
内部sigma中的 1 是你在最里面的循环中所做的复杂性。
答案 1 :(得分:1)
当i=1
时,k-loop运行1次,j-loop运行1次。总= 1.1 = 1次
当i=2
时,k-loop运行2次,j-loop运行2次。总计= 2.2 = 4次
当i=3
时,k-loop运行3次,j-loop运行3次。总计= 3.3 = 9次
当i=n
时,k-loop运行n次,j-loop运行n次。总数= n.n = n ^ 2次
因此,算法的时间复杂度为O(1 + 2 ^ 2 + 3 ^ 2 + ... n ^ 2)= O(n(n + 1)(2n + 1)/ 6)= O(n ^ 3)