Сортировка на основе сравнения: W C мин. Время nlogn, так что насчет наилучшего / среднего случая - PullRequest
0 голосов
/ 20 апреля 2020

В Кормене есть теорема, которая гласит ... (Th 8.1) «Для методов сортировки, основанных на сравнении, у вас не может быть алгоритма сортировки заданного списка, который в худшем случае занимает меньше времени, чем nlogn (сравнения)» Т.е. наихудший случай сложность времени составляет Омега (nlogn) для Техника сортировки на основе сравнения ...

Теперь я искал то, что существует ли оператор в случае наилучшего случая .. или даже для среднего случая, в котором указано что-то вроде:

Вы не можете иметь алгоритм сортировки, который занимает меньше времени, чем какой-то X, для сортировки заданного списка элементов ... в лучшем случае

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

1 Ответ

1 голос
/ 20 апреля 2020

Отличный вопрос! Сложность с определением сложности «среднего случая» состоит в том, что вам нужно задать «усредненное по чему? »

Например, если мы предположим, что элементы массива имеют равную вероятность быть в любом из n! возможные перестановки из n элементов, тогда Ω (n log n), связанная с сортировкой сравнения, остается в силе, хотя я, кажется, помню, что доказательство этого довольно сложно.

С другой стороны, если мы предположим, что в данных есть тенденции (скажем, вы измеряете температуры в течение дня, когда вы знаете, что они обычно имеют тенденцию к повышению, а затем к понижению). Многие реальные наборы данных выглядят так, и есть алгоритмы, такие как Timsort, которые могут использовать эти шаблоны для повышения производительности. Поэтому, возможно, «среднее» здесь будет означать «усредненное по всем возможным графикам, образованным последовательностью возрастания и затем падения с добавлением шумовых терминов». Я не встречал никого, кто работал над анализом алгоритмов в этих случаях, но я уверен, что там была проделана определенная работа, и там могут быть даже некоторые хорошие средние показатели, которые менее известны.

...