Быстрая сортировка против сортировки слиянием

Опубликовано: 16 Января, 2022

Быстрая сортировка - это внутренний алгоритм, основанный на стратегии «разделяй и властвуй». В этом:

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

Сортировка слиянием - это внешний алгоритм, основанный на стратегии «разделяй и властвуй». В этом:

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

Быстрая сортировка против сортировки слиянием

  1. Разделение элементов в массиве :
    При сортировке слиянием массив делится всего на 2 половины (т.е. n / 2).
    в то время как
    В случае быстрой сортировки массив делится в любом соотношении. Нет необходимости делить массив элементов на равные части при быстрой сортировке.
  2. Сложность наихудшего случая :
    Наихудшая сложность быстрой сортировки - O (n2), так как в наихудшем состоянии требуется много сравнений.
    в то время как
    При сортировке слиянием наихудший случай и средний случай имеют одинаковую сложность O (n log n).
  3. Использование с наборами данных :
    Сортировка слиянием может хорошо работать с любым типом наборов данных, независимо от его размера (большого или маленького).
    в то время как
    Быстрая сортировка не работает с большими наборами данных.
  4. Требуемое дополнительное место для хранения :
    Сортировка слиянием не применяется, поскольку для хранения вспомогательных массивов требуется дополнительное пространство памяти.
    в то время как
    Быстрая сортировка на месте, так как не требует дополнительного хранилища.
  5. Эффективность :
    Сортировка слиянием более эффективна и работает быстрее, чем быстрая сортировка, в случае большего размера массива или наборов данных.
    в то время как
    Быстрая сортировка более эффективна и работает быстрее, чем сортировка слиянием, в случае меньшего размера массива или наборов данных.
  6. Метод сортировки :
    Быстрая сортировка - это метод внутренней сортировки, при котором данные сортируются в основной памяти.
    в то время как
    Сортировка слиянием - это метод внешней сортировки, при котором данные, которые должны быть отсортированы, не могут быть размещены в памяти и требуется вспомогательная память для сортировки.
  7. Стабильность :
    Сортировка слиянием стабильна, поскольку два элемента с одинаковым значением появляются в отсортированном выводе в том же порядке, что и во входном несортированном массиве.
    в то время как
    В этом сценарии быстрая сортировка работает нестабильно. Но его можно сделать стабильным, изменив код.
  8. Предпочтительно для :
    Для массивов предпочтительна быстрая сортировка.
    в то время как
    Сортировка слиянием предпочтительнее для связанных списков.
  9. Местоположение ссылки :
    Quicksort демонстрирует хорошую локальность кеша, и это делает быструю сортировку быстрее, чем сортировку слиянием (во многих случаях, как в среде виртуальной памяти).
Основа для сравнения Быстрая сортировка Сортировка слиянием
Разделение элементов в массиве
Разделение массива элементов происходит в любом соотношении, не обязательно деление пополам. При сортировке слиянием массив делится всего на 2 половины (т.е. n / 2).
Сложность наихудшего случая
О (п2) O (nlogn)
Хорошо работает на
Он хорошо работает на меньшем массиве Он отлично работает с любым размером массива
Скорость исполнения
Он работает быстрее, чем другие алгоритмы сортировки для небольших наборов данных, таких как сортировка по выбору и т. Д. Он имеет стабильную скорость для данных любого размера.
Требуется дополнительное место для хранения
Меньше (на месте) Больше (не на месте)
Эффективность
Неэффективен для больших массивов Более эффективным
Метод сортировки
Внутренний Внешний
Стабильность
Нестабильный Стабильный
Предпочтительно для
для массивов для связанных списков
Местонахождение ссылки
хороший бедных

Вниманию читателя! Не прекращайте учиться сейчас. Освойте все важные концепции DSA с помощью самостоятельного курса DSA по приемлемой для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .

Если вы хотите посещать живые занятия с отраслевыми экспертами, пожалуйста, обращайтесь к Geeks Classes Live и Geeks Classes Live USA.