我只是想知道这个例子的Big O运行时复杂性是什么?
public void example(int n) {
for (int i = 0; i<32; i++) {
System.out.print(i);
}
}
我不认为它的O(n)因为我们不通过n循环,而是循环通过32次。 感谢
答案 0 :(得分:2)
这是一个恒定时间操作,所以它是O(1)
(或Theta(1)
),因为你总是执行32次操作。虽然,O
符号只是上限,但它也是O(n)
,O(lg n)
甚至是O(n^n^n^n)
。 O(1)
只是这个代码的渐近紧密绑定。 theta表示法给出了精确的(从底部和上面开始)复杂度估计,并且如前所述,这是一个Theta(1)
代码,因为它的操作数完全独立于输入参数。