В чем сложность замены двух строк в 2D-векторе и в 2D-массиве, я тестировал сложность времени на обоих, кажется, что в обмене векторов почти O(1)
, но в массивах работает медленнее, так что же действительно сложность, почему разные?Сложность замены двух строк в векторе и массиве с помощью функции подкачки
в массивах (очень медленно):
int arr[N][N];
// input the array elements
while (q--) { // number of queires
int x, y;
scanf("%d %d", &x, &y);
swap(arr[x], arr[y]);
}
в векторах тот же код выше, но вместо того, чтобы использовать int arr[N][N]
я использую vector<<vector>>
Я думаю, вы вводите в заблуждение понятия сложности и экспериментальных результатов - что было быстрее, когда вы их тестировали? – tinkertime
Когда я запускаю оба кода, вектор работает быстрее, я имею в виду результат вывода. –
Кстати, надеюсь, вы не будете использовать эти вызовы 'scanf' в реальном коде. –