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.
Новые материалы:
- Matplotlib график python
- Перебор всех возможных вариантов python
- Django запрос get
- Напишите программу которая находит все различные цифры в символьной строке python
- Готовый калькулятор на python
- Дано трехзначное число проверить истинность высказывания все цифры данного числа различны python
- Декартово произведение numpy
- Не удалось запустить отладчик python visual studio
- Python автоматический перезапуск скрипта
- Python словарь в кортеж