Теорема о нижней оценке для сортировки сравнениями
В этой статье рассматриваются алгоритмы сортировки сравнением. В таких алгоритмах единственным действием с элементами массива является их сравнение. Значения самих элементов или иная информация о них не доступна.
Теорема (о нижней оценке для сортировки сравнениями): |
В наихудшем случае в ходе выполнения любого алгоритма сортировки сравнением выполняется сравнений, где - число элементов массива. |
Доказательство: |
Во-первых, будем считать целью нашего алгоритма определить исходную перестановку, после её определения сортировка сведется к нахождению обратной перестановки. Будем искать наихудший случай для алгоритма среди всех возможных перестановок чисел от 1 до , таким образом у каждого сравнения всего два возможных исхода - или .Рассмотрим некоторое состояние нашего алгоритма. В этом состоянии уже известны результаты каких-то сравнений, и в зависимости от них делается следующее, после чего алгоритм переходит в одно из двух состояний. Кроме того, алгоритм может остановиться, если исходная перестановка будет однозначно установлена. Заметим, что этот процесс можно описать двоичным деревом, узлы которого будут соответствовать состояниям, листья - определенным входным перестановкам, а ребра - результатам сравнений. Заметим так же, что число листьев у этого дерева должно быть не меньше , иначе одна из перестановок не сможет быть определена.Число сравнений в наихудшем случае будет равно глубине этого дерева, поэтому осталось показать, что эта глубина есть Итак, для любого алгоритма сортировки сравнениями существует такая перестановка, на которой он выполнит . Для этого заметим, что у двоичного дерева глубины листьев не больше (в случае полного двоичного дерева), т. е. у двоичного дерева с листьям глубина по крайней мере . Осталось оценить сравнений, ч. т. д. |