这段代码的运行时效率和空间效率是多少?

时间:2017-08-16 06:05:59

标签: java

public void place(T item, int x, int y) {
    checkValidInputs(x, y);
    grid[x-1][y-1] = item;
}

其中

private void checkValidInputs(int x, int y) {
    if ((rows < x || x < 0) || (columns < y || y < 0)) {
        throw new ArrayIndexOutOfBoundsException("Position must be within the grid");
    }
}

我的anaylsis说它是O(x y)因为checkValidInputs是O(1)而且地方被认为是O(x y)?

但是,我对空间效率有点困惑,我该如何判断呢?

1 个答案:

答案 0 :(得分:0)

复杂性是O(1),因为没有任何循环,并且这个代码总是采用一种形式两个时间来执行,这取决于是否抛出异常 - 但这种情况也符合O(1)复杂性,所以一般来说这个代码在所有情况下都是O(1)。