Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основные методы внутренней сортировки




Классификация методов сортировки

Существует несколько признаков, по которым можно различать методы сортировки (прил.).

1. По месту проведения работы различают сортировку массивов записей, целиком расположенных в основной памяти - внутреннюю сортировку, и сортировку файлов, хранящихся во внешней памяти и не помещающихся полностью в основной памяти - внешнюю сортировку. Для внутренней и внешней сортировки требуются разные методы, так как:

1) внутренние сортировки работают с данными в оперативной памяти с произвольным доступом к любой ячейке. Данные обычно сортируются на том же месте, без дополнительных затрат;

2) внешние сортировки упорядочивают информацию, расположенную на внешних носителях. Это накладывает некоторые дополнительные ограничения на алгоритм:

· объем данных не позволяет им разместиться в ОЗУ;

· доступ к данным на носителе производится намного медленнее, чем операции с оперативной памятью;

· доступ к носителю осуществляется последовательным образом: в каждый момент времени можно считать или записать только элемент, следующий за текущим.

Внешняя сортировка оперирует с запоминающими устройствами большого объема, но с доступом не произвольным, а последовательным (сортировка файлов), т.е. в данный момент доступен только один элемент, а затраты на перемотку по сравнению с памятью неоправданно велики. Это приводит к специальным методам сортировки, обычно использующим дополнительное дисковое пространство.

2. По способу выполнения работы алгоритмы сортировки различают по следующим позициям:

· сортировка вставками - элементы просматриваются по одному, и каждый новый элемент вставляется в подходящее место среди ранее упорядоченных элементов;

· обменные сортировки – если два элемента расположены не по порядку, то они меняются местами. Этот процесс повторяется до тех пор, пока элементы не будут упорядочены;

· сортировка посредством выбора – сначала выделяется наименьший или наибольший элемент и каким-либо образом отделяется от остальных. Затем выбирается наименьший или наибольший элемент из оставшихся;

· сортировка подсчетом – каждый элемент сравнивается со всеми остальными. Окончательное положение элемента определяется подсчетом числа меньших ключей.

 

Естественным условием, предъявляемым к любому методу внутренней сортировки, является то, что эти методы не должны требовать дополнительной памяти: все перестановки с целью упорядочения элементов массива должны производиться в пределах того же массива. Мерой эффективности алгоритма внутренней сортировки являются число требуемых сравнений значений ключа (C) и число перестановок элементов (M).

С этой точки зрения различают квадратичные и субквадратичные алгоритмы и логарифмические и линейные алгоритмы.

Примером квадратичных и субквадратичных алгоритмов являются:

· сортировка выбором(SelectSort);

· сортировка пузырьком(BubbleSort) и ее улучшения;

· сортировка простыми вставками(InsertSort)4

· сортировка Шелла (ShellSort).

Примером логарифмических и линейных алгоритмов являются:

· пирамидальная сортировка (HeapSort);

· быстрая сортировка (QuickSort);

· поразрядная сортировка(RadixSort).




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 648; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.