试图找到这个代码块的 Big-O 估计:
int a[][] = new int[m][n];
int w = 0;
for (int i = 0; i<m; i++) {
for(int j = 0; j<n; j++) {
if ( a[i][j]%2 == 0) {
w++;
}
}
}
我做了一个估计并简化: O(m)O(n)O(1) => O(mn)
看起来所有情况都是 O(mn),因为 O(1) 操作是否执行并不重要,这是正确的吗?还是有最好/最差/平均的情况?
欣赏任何见解!
谢谢