Источник ИТМО
Даны два отсортированных по неубыванию массива a и b. Определите, есть ли в них одинаковые числа. Время O(n).
Даны два отсортированных по неубыванию массива a и b. Найдите такие i и j, что разница |a[i] − b[j]| минимальна. Время O(n).
Даны два отсортированных по неубыванию массива a и b и число S. Найдите такие i и j, что сумма a[i] + b[j] = S. Время O(n).
Даны два отсортированных по неубыванию массива a и b. Найдите число пар (i, j), таких, что a[i] = b[j]. Время O(n).
Даны два отсортированных по неубыванию массива a и b. Найдите число пар (i, j), таких, что a[i] > b[j]. Время O(n).
Докажите по индукции, что если
Докажите по индукции, что если
Докажите по индукции, что если
Докажите по индукции, что если
Докажите по индукции, что если
Для каждой из приведенных программ и функций оцените время ее работы
int func(int n) {
if (n == 0)
return 1;
else
return func(n / 5) + func(n / 5);
}
int func2(int n) {
if (n == 0)
return 1;
else
return 2*func2(n / 5);
}
Дан массива a. Пара (i, j), такая, что i < j и a[i] > a[j] называется инверсией. Пусть в массиве длины n ровно k инверсий. Докажите, что сортировка вставками работает за O(n + k).
Дан массива a. Найдите число инверсий в нем. Время O(n log n)
Покажите, что при правильной (какой?) реализации сортировка слиянием является устойчивой (то есть, не меняет порядок равных элементов).
Реализуйте сортировку слиянием снизу вверх (без рекурсии).