Если у вас есть алгоритм быстрой сортировки, и вы всегда выбираете самый маленький (или самый большой) элемент в качестве своей оси; Прав ли я, если предположить, что если вы предоставите уже отсортированный набор данных, вы всегда получите худшую производительность независимо от того, находится ли ваш «уже отсортированный» список в возрастающем или убывающем порядке?
Я думаю, что если вы всегда выбираете наименьший элемент для своей оси, то не имеет значения, будет ли ваш «уже отсортированный» вход отсортирован по возрастанию или по убыванию, потому что подмножество, выбранное для сортировки относительно вашей оси, всегда будет тот же размер?
Ответы:
Худший случай сложность для быстрой сортировки является . Это достигается путем выбора опорных точек, которые делят множество таким образом, чтобы в одной группе был только один член. При плохом алгоритме выбора поворота это может быть легко достигнуто путем выбора одного конца отсортированного набора. Ваше предположение верно.Θ(n2)
источник
источник
источник