Рассмотрим формулировку классической задачи сортировки массива по возрастанию.
Пусть дан массив с элементами
. Элементы этого массива необходимо переставить таким образом, чтобы выполнялось соотношение:
.
Аналогично формулируется задачи сортировки массива по убыванию.
При решении задачи сортировки обычно выдвигается требование минимального использования дополнительной памяти, из которого вытекает недопустимость применения дополнительных массивов.
Для оценки быстродействия алгоритмов различных методов сортировки, как правило, используют два показателя:
1) количество присваиваний;
2) количество сравнений.
Все методы сортировки можно разделить на две большие группы:
1) прямые методы сортировки;
2) улучшенные методы сортировки.
Прямые методы сортировки по принципу, лежащему в основе метода, в свою очередь разделяются на три подгруппы:
1) сортировка вставкой (включением);
2) сортировка выбором (выделением);
3) сортировка обменом («пузырьковая» сортировка).
Улучшенные методы сортировки основываются на тех же принципах, что и прямые, но используют некоторые оригинальные идеи для ускорения процесса сортировки. Прямые методы на практике используются довольно редко, так как имеют относительно низкое быстродействие. Однако они хорошо показывают суть основанных на них улучшенных методов, кроме того, в некоторых случаях, некоторые из прямых методов могут даже превзойти улучшенные методы.