Re: Худший случай быстрой сортировки
От: Chorkov Россия  
Дата: 16.09.15 14:51
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>Есть быстрая сортировка


Б>
Б>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


Точно перестановок?
Приведенная реализация считает число сравнений ...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.