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)?
但是,我对空间效率有点困惑,我该如何判断呢?
答案 0 :(得分:0)
复杂性是O(1),因为没有任何循环,并且这个代码总是采用一种形式两个时间来执行,这取决于是否抛出异常 - 但这种情况也符合O(1)复杂性,所以一般来说这个代码在所有情况下都是O(1)。