for i in range(n):
for j in range(i):
print j
尽管内部循环仅达到外部循环的当前索引的长度,我仍然可以说这是O(n ^ 2)吗?
答案 0 :(得分:0)
一个计数到n
的循环描述了一条直线,两个计数到n
的嵌套循环描述了一个正方形。
当内循环上升到外循环的索引时,您将三角形覆盖正方形的一半:
+----+
|. |
|.. |
|... |
|....|
+----+
因此您可以通过计算三角形的面积来更准确地预测运行时间。但是Big-O表示法不是要获得准确的运行时,而是要在添加更多数据时比较运行时的扩展方式。您想知道您的程序最接近哪个of these lines。三角形的大小仍与n*n
成正比。覆盖一半的平方并不足以使程序更接近其他复杂性类别。