Преимущества алгоритма быстрой сортировки:
- Быстродействие. 12 На практике это один из самых быстродействующих алгоритмов внутренней сортировки общего назначения. 1
- Короткость алгоритма. 1 Запомнив основные моменты, его легко написать. 1
- Низкая дополнительная память. 1 С модификациями алгоритм требует лишь O(log n) дополнительной памяти в виде стека. 1
- Хорошее сочетание с механизмами кэширования и виртуальной памятью. 1
- Допускает естественное распараллеливание. 1 Сортировка выделенных подмассивов в параллельно выполняющихся подпроцессах. 1
- Эффективная модификация для сортировки по нескольким ключам. 1 В процессе разделения автоматически выделяется отрезок элементов, равных опорному, этот отрезок можно сразу же сортировать по следующему ключу. 1
- Работа на связных списках и других структурах с последовательным доступом. 1
Недостатки алгоритма быстрой сортировки:
- Деградация по скорости в худшем или близком к нему случае, что может случиться при неудачных входных данных. 2
- Прямая реализация в виде функции с двумя рекурсивными вызовами может привести к ошибке переполнения стека. 2
- Не подходит для небольших наборов данных. 4
- Не является стабильной сортировкой: если два элемента имеют одинаковый ключ, их относительный порядок не будет сохранён в отсортированном выводе. 4