@askogorev

Почему для стандартной сортировки выбрана Quick Sort?

Добрый день, достаточно много где (например STL) в качестве стандартной сортировки выбрана сортировка qsort. Вопрос - почему?

Вот статья про сортировки: http://en.wikipedia.org/wiki/Sorting_algorithm
Видно, что, например, пирамидальная сортировка (Heapsort) имеет в худшем случае сложность n*log(n), а qsort все n^2. Так почему же именно qsort?
  • Вопрос задан
  • 3129 просмотров
Пригласить эксперта
Ответы на вопрос 4
forgotten
@forgotten
Руководитель разработки API Яндекс.Карт
Потому что у qsort лучший коэффициент при n*log(n)
Ответ написан
Комментировать
JSinga
@JSinga
Не читайте википедию, читайте подлинник - Кормен, прочитать все равно надо, пригождается чтобы там ни было))

Стоит ли говорить что это книга из разряда "обязательной к прочтению".

Если понравится можно углубиться - Кнут
Ответ написан
Комментировать
nekipelov
@nekipelov
У пирамидальной сортировки всегда O(n log n). А quck sort зачастую сортирует быстрее. Но не всегда, поэтому в STL используется Introsort.
Ответ написан
Комментировать
@leotop
Она оптимальна для большинства типовых задач. Оптимальна не значит самая быстрая, значит что решает задачу в приемлемое время.
Например:
Timsort — гибридный алгоритм сортировки.
Основная идея алгоритма в том, что в реальном мире сортируемые массивы данных часто содержат в себе упорядоченные подмассивы. На таких данных Timsort существенно быстрее многих алгоритмов сортировки
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы