Шейкер-сортировка
Шейкер-сортировка является усовершенствованным методом пузырьковой сортировки.
Алгоритмы сортировки и поиска: сортировка прямыми включениями, прямым выбором, прямым обменом, пирамидальная сортировка, быстрая сортировка, бинарный поиск
Алгоритмы сортировки массивов не всегда применимы, если сортируемые данные расположены в структуре с последовательным доступом, которая характеризуется тем, что в каждый момент имеется непосредственный доступ к одному и только одному компоненту.
Быстрая сортировка представляет собой усовершенствованный метод сортировки, основанный на принципе обмена. Пузырьковая сортировка является самой неэффективной из всех алгоритмов прямой сортировки. Однако усовершенствованный алгоритм является лучшим из известных методом сортировки массивов. Он обладает столь блестящими характеристиками, что его изобретатель Ч. Хоар назвал его быстрой сортировкой.
Метод пирамидальной сортировки, изобретенный Д. Уильямсом, является улучшением традиционных сортировок с помощью дерева.
Сортировка с помощью дерева осуществляется на основе бинарного дерева поиска.
В 1959 г. Д. Шеллом было предложено усовершенствование сортировки с помощью прямого включения.
Алгоритм сортировки прямым обменом основан на принципе сравнения и обмена пары соседних элементов до тех пор, пока не будут отсортированы все элементы. Как и в методе прямого выбора, совершаются проходы по массиву, сдвигая каждый раз наименьший элемент оставшейся последовательности к началу массива.
Алгоритм сортировки прямым выбором в некотором смысле противоположен сортировке прямыми включениями. При прямом включении на каждом шаге рассматривается только один очередной элемент входной последовательности и все элементы готовой последовательности для нахождения места включения. При прямом выборе для поиска одного элемента с наименьшим ключом просматриваются все элементы входной последовательности, и найденный элемент помещается как очередной элемент
Бинарный поиск производится в упорядоченном массиве. При бинарном поиске искомый ключ сравнивается с ключом среднего элемента в массиве. Если они равны, то поиск успешен. В противном случае поиск осуществляется аналогично в левой или правой частях массива.