Известные в настоящее время алгоритмы сортировки базируются на одном из следующих подходов:
A. Вставка. Исходные элементы обрабатываются по одному в произвольном порядке. Сортированное множество создается путем последовательного включения каждого нового элемента в правильную позицию по отношению к уже имеющимся в нем элементам.
B. Выборка. Сначала выделяется наибольший (или наименьший) элемент исходной последовательности и помещается в очередную позицию в выходной последовательности. Затем аналогичным образом обрабатываются оставшиеся элементы.
C. Обмен. Если каждые два соседних элемента последовательности расположены не по порядку, то они меняются местами. Этот процесс повторяется до тех пор, пока все элементы не будут упорядочены.
D. Слияние. Упорядочиваемая последовательность разделяется на равные группы элементов, которые сортируются. Затем группы объединяются в более крупные сортированные подмножества.
На основе перечисленных методов разработано несколько десятков алгоритмов сортировки, отличающихся своей эффективностью. В качестве меры эффективности обычно используются количество операций сравнения пар признаков – C и число операций пересылок элементов – M. Эти величины определяются некоторыми функциями от числа n сортируемых элементов. Соответствующие исследования показали, что минимальное количество сравнений, необходимое для сортировки n элементов, приближенно оценивается следующим образом:
С ≈ n[log2n],
где [x] означает наименьшее целое x.
Число операций пересылок пропорционально количеству сравнений. Для некоторых алгоритмов сортировки оценивается еще один параметр – резерв памяти ΔS = S-Sn, где S – объем памяти, используемой для реализации алгоритма сортировки; Sn – объем памяти, необходимой для хранения массива из n элементов.
Опубликовал Kest
December 24 2009 19:44:32 ·
0 Комментариев ·
9305 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.