Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билет №5. 5.Метод вставок..doc
Скачиваний:
1
Добавлен:
15.04.2019
Размер:
182.78 Кб
Скачать

4. Обменная поразрядная сортировка

Данный метод использует двоичное представление ключей. Файл сортируется последовательно по битам двоичного представления ключей, начиная со старшего. Ключи, имеющие значение данного бита, равное нулю, ставятся в левую половину файла, а ключи со значением бита 1 - в правую. Ниже приведена схема алгоритма поразрядной сортировки. Функция b(ключ) возвращает значение с номером b аргумента, m - максимальное количество значащих битов в ключах.

5. Параллельная сортировка Бэтчера

Для получения алгоритма обменной сортировки, время работы которого меньше, чем N, необходимо выбирать для сравнения и обмена ключи, расположенные возможно дальше друг от друга. Эта идея уже была реализована в алгоритме сортировки Шелла вставок с убывающим шагом, однако в данном алгоритме сравнения выполняются по-другому. Рассмотрим схему алгоритма. Здесь t= <logN> - наименьшее целое, равное или превышающее logN ( N>=2). Переменная d имеет смысл шага сортировки, то есть сравниваются ключи K[i] и K[i+d]. Через <-> обозначена операция обмена значений двух переменных.

На схеме алгоритма через & обозначена операция поразрядного И, то есть выполнение условия i&p = r означает, что в цикле по i нужно выбирать только такие значения i, которые в одном разряде, изменяющемся в цикле по p (операция p=p/2 имеет смысл сдвига начального значения 1 в разряде (t-1), имеют сначала значение 0 (поскольку r=0), а затем 1 (поскольку r=p).