Есть
быстрая сортировка
void quick_sort(int * a, int left, int right, int & count) {
int key = a[ (left + right) / 2 ];
int i = left;
int j = right;
do {
while (++count, a[i] < key) ++i;
while (++count, key < a[j]) --j;
if (i <= j) {
swap(a[i], a[j]);
++i, --j;
}
} while (i <= j);
if (left < j) quick_sort(a, left, j, count);
if (i < right) quick_sort(a, i, right, count);
}
Напишите программу, которая для заданного N формирует перестановку чисел от 1 до N чтобы count (количество перестановок) был максимальным. Является ли найденный вариант перестановки также худшим случаем в отношении глубины рекурсии?
Навеяно/взято с
http://dxdy.ru/topic98700.html