Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

сиаод / 35-66 / 40. Турнирная сортировка

..pdf
Скачиваний:
186
Добавлен:
11.05.2015
Размер:
212.86 Кб
Скачать

40. Турнирная сортировка.

Этот метод сортировки получил свое название из-за сходства с кубковой системой проведения спортивных соревнований: участники соревнований разбиваются на пары, в которых разыгрывается первый тур; из победителей первого тура составляются пары для розыгрыша второго тура и т.д. Алгоритм сортировки состоит из двух этапов. На первом этапе строится дерево: аналогичное схеме розыгрыша кубка.

Например, для последовательности чисел a:

16 21 8 14 26 94 30 1

такое дерево будет иметь вид пирамиды, показанной на рисунке:

В примере приведена программная иллюстрация алгоритма турнирной сортировки.

Алгоритм:

Строится двоичное дерево (глубина 2к≥n) сортируемых ключей: 1.все ключи листья

2.из пар выбирается мин и становится узлом порядка k-1, процесс продолжается пока корнем дерева не станет мин эл-т 3.переправляем этот эл-т в исходную последовательность

4.спускаемся по дереву и заменяем значения мин элемента на + 5.все промежуточные узлы заменяем минимальными из оставшихся.

6.процесс продолжается до тех пор пока все листья не будут заменены фиктивными ключами Число сравнений (n-1)log2n: время работы O(log2n)