循环不是输入时的大O运行时(n)

时间:2013-09-25 05:12:00

标签: big-o

我只是想知道这个例子的Big O运行时复杂性是什么?

    public void example(int n) {
    for (int i = 0; i<32; i++) {
        System.out.print(i);
    }
}

我不认为它的O(n)因为我们不通过n循环,而是循环通过32次。 感谢

1 个答案:

答案 0 :(得分:2)

这是一个恒定时间操作,所以它是O(1)(或Theta(1)),因为你总是执行32次操作。虽然,O符号只是上限,但它也是O(n)O(lg n)甚至是O(n^n^n^n)O(1)只是这个代码的渐近紧密绑定。 theta表示法给出了精确的(从底部和上面开始)复杂度估计,并且如前所述,这是一个Theta(1)代码,因为它的操作数完全独立于输入参数。