Введение

Если вы работаете с данными, которые необходимо отсортировать, есть несколько способов сделать это. Вот пять самых популярных алгоритмов сортировки:

Быстрая сортировка

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

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

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

Сортировка слиянием

Сортировка слиянием — это простой алгоритм сортировки, который использует два прохода для сортировки массива. Первый проход объединяет все элементы в один большой отсортированный массив, затем второй проход переупорядочивает эти элементы, чтобы они отображались в правильном порядке.

Сортировка слиянием отлично подходит для небольших массивов (менее 1000), но может быть медленной, если у вас более 10 000 элементов или около того.

Куча сортировки

Сортировка кучей — это алгоритм на месте, который можно использовать, когда вы хотите отсортировать структуру данных, которая уже отсортирована. Это особенно полезно, если вы работаете со списками или массивами и вам нужен эффективный способ перемещения объектов из одного места в другое или из одного элемента массива в другой.

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

Пузырьковая сортировка

Пузырьковая сортировка — это простой алгоритм сортировки, который можно реализовать рекурсивно. Это также стабильный алгоритм сортировки, то есть он дает одинаковые результаты независимо от того, сколько раз вы его запускаете.

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

Сортировка вставками

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

Сортировка вставками обычно используется, когда у вас есть несортированный список чисел, но вам нужно преобразовать его в упорядоченную последовательность.

Знайте, какой алгоритм сортировки использовать в какой ситуации.

  • Используйте быструю сортировку для сортировки небольших наборов данных.
  • Используйте сортировку слиянием для сортировки больших наборов данных.
  • Используйте кучевую сортировку, когда порядок ваших значений имеет значение, и вам нужно, чтобы они были отсортированы по приоритету (например, номера социального страхования).
  • Пузырьковая сортировка небольших значений выполняется быстро и эффективно, но она не очень хороша при работе с повторяющимися элементами в списке или несколькими копиями похожих элементов; поэтому его не рекомендуется использовать для сортировки больших массивов целых чисел или чисел с плавающей запятой, где нет повторяющегося шаблона.

Заключение

Правильный алгоритм сортировки может быть разницей между получением пятерки в классе или нет. Вам нужно использовать правильный алгоритм в зависимости от того, что вы делаете, размера набора данных, количества элементов и времени, оставшегося на каждый шаг. Это важно не только для оценок, но и для других приложений, где такие вещи, как ранжирование, зависят от точности и эффективности.

Спасибо за прочтение, следите за новостями

Если этот пост был полезен, пожалуйста, несколько раз нажмите кнопку аплодисментов 👏, чтобы выразить свою поддержку автору 👇

🚀Разработчики: учитесь и развивайтесь, не отставая от того, что важно, ПРИСОЕДИНЯЙТЕСЬ К FAUN.