a = 5 b = 6 c = 10 for i in range(n): for j in range(n): x = i * j y = j * j z = i * j for k in range(n): w = a * k + 45 v = b * b d = 33
分析如下
赋值操作的数量是4项之和:T(n)=3+3n^2+2n+1. 第1项是常数3,对应起始部分的3条赋值语句 第2项是3n^2,因为有3条语句要在嵌套循环中重复n^2次 第3项是2n,因为两条语句要循环n遍, 第4项是常数1,代表最后那条赋值语句 T(n)=3+3n^2+2n+1=3n^2+2n+4 很容易看出来,n^2起主导作用,所以这段代码的时间复杂度是O(n^2)。当n变大时,其他项以及主导项的系数都可以忽略