Сортировка массивов
Что такое сортировка массива?
Сортировкой или упорядочением массива называется расположение его элементов по возрастанию (или убыванию). Если не все элементы различны, то надо говорить о неубывающем (или невозрастающем) порядке. Вообще говоря, это большая и сложная тема, в которой известно много различных алгоритмов.
Какие критерии включает в себя сортировка?
Критерии оценки эффективности этих алгоритмов могут включать следующие параметры:
количество шагов алгоритма, необходимых для упорядочения;
количество сравнений элементов;
количество перестановок, выполняемых при сортировке.
Рассмотрим три простейших метода сортировки массивов
Сортировка методом пузырька
Существует множество методов сортировки. Одни из них являются более эффективными, другие – проще для понимания. Достаточно простой для понимания является сортировка методом пузырька, который также называют методом простого обмена. В чем же он заключается, и почему у него такое странное название: "метод пузырька"? Как известно воздух легче воды, поэтому пузырьки воздуха всплывают. Это просто аналогия. В сортировке методом пузырька по возрастанию более легкие (с меньшим значением) элементы постепенно "всплывают" в начало массива, а более тяжелые друг за другом опускаются на дно (в конец массива).
Insert-sort или Сортировка вставками
Сортировка вставками - это алгоритм сортировка, в котором все элементы массива просматриваются поочередно, при этом каждый элемент размещается в соответственное место среди ранее упорядоченных значений.
Алгоритм работы сортировки вставками заключается в следующем:
в начале работы упорядоченная часть пуста;
добавляем в отсортированную область первый элемент массива из неупорядоченных данных;
переходим к следующему элементу в неотсортированных данных, и находим ему правильную позицию в отсортированной части массива, тем самым мы расширяем область упорядоченных данных;
повторяем предыдущий шаг для всех оставшихся элементов.
Quick-sort или Быстрая сортировка.
Краткое описание алгоритма:
выбрать элемент, называемый опорным.
сравнить все остальные элементы с опорным, на основании сравнения разбить множество на три — «меньшие опорного», «равные» и «большие», расположить их в порядке меньшие-равные-большие.
повторить рекурсивно для «меньших» и «больших».