Menu
Coddy logo textTech

Time and Space Complexity

Урок 7 из 9 курса Быстрая сортировка — серия DSA на Coddy.

Временная сложность:

  • Средний случай: O(n log n)
    • Сбалансированный опорный элемент (pivot) каждый раз разделяет массив примерно пополам, что дает около log n уровней работы по разделению сложности O(n).
  • Худший случай: O(n2)
    • Если опорный элемент всегда является самым маленьким или самым большим элементом (например, в уже отсортированном массиве, где последний элемент выбран в качестве опорного), одна сторона каждый раз оказывается пустой, и глубина рекурсии достигает n уровней.

Пространственная сложность:

  • O(n) для версии, которую мы создаем здесь, так как на каждом шаге мы создаем новые списки меньшего и большего размера. Классическая in-place (на месте) Quick Sort улучшает этот показатель до O(log n) дополнительного пространства.

Резюме:

  • Quick Sort очень быстра в среднем и является основным алгоритмом сортировки на практике.
  • Плохой выбор опорного элемента может снизить производительность до O(n2); хорошие стратегии выбора опорного элемента (например, выбор случайного или медианного элемента) позволяют этого избежать.

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Быстрая сортировка — серия DSA