PYTHON ШЕЙКЕРНАЯ СОРТИРОВКА

Шейкерная сортировка (или коктейльная сортировка) — это улучшенная версия пузырьковой сортировки, которая работает быстрее в случаях, когда массив не полностью неотсортирован. Она проходится по массиву с обеих сторон и на каждом проходе сдвигает наибольший элемент в конец массива.

Алгоритм шейкерной сортировки на Python:

def shaker_sort(arr): n = len(arr) left = 0 right = n - 1 while left <= right: for i in range(left, right): if arr[i] > arr[i + 1]: arr[i], arr[i + 1] = arr[i + 1], arr[i] right -= 1 for i in range(right, left, -1): if arr[i - 1] > arr[i]: arr[i], arr[i - 1] = arr[i - 1], arr[i] left += 1 return arr

Пример использования:

arr = [64, 34, 25, 12, 22, 11, 90]print(shaker_sort(arr))

Вывод:

[11, 12, 22, 25, 34, 64, 90]

#8. Сортировка выбором - Алгоритмы на Python

Коктейльная сортировка :: Шейкерная сортировка :: Cocktail sort :: Shaker sort

Сортировка вставками. Insertion sort. Python

Алгоритмы. Массивы. Сортировки: Пузырек (Bubble), Шейкерная (Coctail), Расчёска (Comb)

Сортировка пузырьком в python. Bubble sort in Python

Алгоритмы. Сортировка перемешиванием. Реализация на Python и Java.

BLGPG-834B902726EE-24-11-24-00

Новые материалы: