Image

Imagevalyakol wrote in Imageru_java

Вопрос на интервью

Вот такой вопрос задали: какой из этих двух методов будет выполнятся быстрее и почему?


private static void test1() {

int n = 5000;
int m = 5000;
int a[][] = new int[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
a[i][j]++;
}
}
}

private static void test2() {

int n = 5000;
int m = 5000;
int a[][] = new int[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
a[j][i]++;
}
}
}
Разница в этих строчках:
a[i][j]++;
a[j][i]++;


Я ответил что от перестановки индексов скорость выполнения не меняется. Теперь вот сомневаюсь. Кто что скажет?