Найти тему
DenoiseLAB

✅Полный список алгоритмов неустойчивой сортировки в программировании

👋Ребята всем привет!!!

Код, как и любая картина художника, может быть либо очень плохо, либо очень изысканно написан (Фото: unplash.com)
Код, как и любая картина художника, может быть либо очень плохо, либо очень изысканно написан (Фото: unplash.com)

💯Алгоритмы сортировки — это алгоритмы, который упорядочивает элементы в списке, массиве. Ключами сортировки называются поле, которое служит критерием порядка среди других полей. Данные алгоритмы позволяют разобраться в огромном массиве данных и сделать его, чуточку, понятнее для дальнейшего статистического анализа.

💯Данные алгоритмы бывают устойчивые (стабильные) и неустойчивые. В этой статье речь пойдёт об алгоритмах неустойчивой сортировки, сначала рассмотрим их классификацию, а также приведем примеры для наилучшего понимания и погружения в тему.

Классификация алгоритмов неустойчивой сортировки:

  • Selection sort (сортировка Выбором). При этом алгоритме осуществляется поиск самого маленького или напротив самого большого элемента, а после — этот элемент помещается в начало или конец упорядоченного списка. Сложность алгоритма: O(n^2) - лучшее/среднее/худшее время. Память: O(1). Обмены: O(n) ;
  • Shell sort (сортировка Шелла) в данном случае сортировку пытаются улучшить сортировку вставками. Сложность алгоритма меняется в зависимости от выбора последовательности длин промежутков и может варьироваться от O(n^2) - худшее время до O(n log^2 n) - лучшее время, среднее зависит от выбора шага. Память: O(1). Обмены: O(n^2);
  • Comb sort (сортировка Расчёской). Этот вид алгоритма является одним из самых простых видов. Основной идеей данного алгоритма является устранение черепах, которые очень "тормозят" сортировку пузырьком (BubbleSort). Суть данного алгоритма заключается в следующем: каждая пара индексов меняется в том случае, если элементы располагаются в разброс. Если при сортировке пузырьком при сравнении двух элементов расстояние между ними равно одному, то при сортировке расчёской основная задумка заключается в том, чтобы максимально увеличить данное расстояние и сделать его намного раз больше, чем 1. Сложность алгоритма: O(n^2);
  • Пирамидальная сортировка — в данном случае список превращают в кучу, берётся самый большой элемент и переносится в самый конец перечня. Нередко этот алгоритм именуют сортировкой кучи. Сложность алгоритма: O(nlogn);
  • Smoothsort (Плавная сортировка) — это вид пирамидальной сортировки, но между этими видами алгоритмом есть как сходства, так и существенные различия. Так, например, как и в пирамидальном алгоритме в плавном массиве этот алгоритм состоит из кучи данных, после — они распределяются посредством перемещения из кучи. Сложность: O(nlogn);
  • Quicksort (Ускоренная сортировка) - широко известен как быстрейший из известных для упорядочения больших случайных списков; с разбиением исходного набора данных на две половины так, что любой элемент первой половины упорядочен относительно любого элемента второй половины; затем алгоритм применяется рекурсивно к каждой половине. Сложность: O(n^2) - лучшее/среднее время, O(n^2) - худшее время. Обмены: O(nlogn);
  • Introsort - сочетает быструю и пирамидальную сортировки. Пирамидальный алгоритм используется, когда глубина рекурсии бывает выше log(n). Сложность алгоритма: O(n log n);
  • Patience sorting - требует дополнительного ресурса памяти и определяет наиболее длинную увеличивающуюся подпоследовательность. Сложность алгоритма: O(n log n);
  • Stooge sort - рекурсивный алгоритм сортировки с временной сложностью O(n^log1,5 3) ~ O(n^2.71)
  • Поразрядная сортировка - Сложность алгоритма: O(n·k);

✨🎉🔥⚡️☄️💥🌟❄️🌨☃️✨🎉🔥⚡️☄️💥🌟❄️🌨☃️⚡️☄️💥🌟❄️⚡️☄️

📌Подписывайтесь на наш канал, делитесь новостями со всеми, ставьте лайки поддерживайте наш канал, пишите комментарии. Ваш ВышМат
По вопросам сотрудничества писать на почту - решение задач (математика/высшая математика), контрольных курсовых, репетиторство, подготовка к ЕГЭ - сообщество в контакте: https://vk.com/mironovviyshmat

✨🎉🔥⚡️☄️💥🌟❄️🌨☃️✨🎉🔥⚡️☄️💥🌟❄️🌨☃️⚡️☄️💥🌟❄️⚡️☄️