Редактирование: Теорема о нижней оценке для сортировки сравнениями
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 18: | Строка 18: | ||
Докажем, что двоичное дерево с не менее чем <tex>n!</tex> листьями имеет глубину <tex>\Omega(n \log n)</tex>. Легко показать, что двоичное дерево высоты <tex>h</tex> имеет не более чем <tex>2^h</tex> листьев. Значит, имеем неравенство <tex>n! \leqslant l \leqslant 2^h</tex>, где <tex>l</tex> {{---}} число листьев. Прологарифмировав его, получим: | Докажем, что двоичное дерево с не менее чем <tex>n!</tex> листьями имеет глубину <tex>\Omega(n \log n)</tex>. Легко показать, что двоичное дерево высоты <tex>h</tex> имеет не более чем <tex>2^h</tex> листьев. Значит, имеем неравенство <tex>n! \leqslant l \leqslant 2^h</tex>, где <tex>l</tex> {{---}} число листьев. Прологарифмировав его, получим: | ||
− | <tex> h \geqslant \log_2 n! = \log_2 1 + \log_2 2 + \ldots + \log_2 n ></tex> <tex> \dfrac{n}{2} \log_2 | + | <tex> h \geqslant \log_2 n! = \log_2 1 + \log_2 2 + \ldots + \log_2 n ></tex> <tex> \dfrac{n}{2} \log_2 (\dfrac{n}{2}) = \dfrac{n}{2}(\log_2 n - 1) = \Omega (n \log n)</tex> |
Итак, для любого алгоритма сортировки сравнениями, существует такая перестановка, на которой он выполнит <tex>\Omega(n \log n)</tex> сравнений. | Итак, для любого алгоритма сортировки сравнениями, существует такая перестановка, на которой он выполнит <tex>\Omega(n \log n)</tex> сравнений. |