Сортировка — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 32: Строка 32:
 
** [[Сортировка Хэна (или Хана?)|Сортировка Хэна]] - упоротая сортировка целых чисел с оценкой $O(n \log \log n)$
 
** [[Сортировка Хэна (или Хана?)|Сортировка Хэна]] - упоротая сортировка целых чисел с оценкой $O(n \log \log n)$
  
 +
 +
=== Затраты памяти ===
 +
 +
* $O(1)$. Обычно такие сортировки используют обмены элементов.
 +
** [[Сортировка пузырьком| Сортировка пузырьком (Bubble Sort)]]
 +
** [[Сортировка вставками| Сортировка вставками (Insertion Sort)]]
 +
** [[Сортировка выбором| Сортировка выбором (Selection Sort)]]
 +
** [[Быстрая сортировка|Быстрая сортировка (Quick Sort)]]
 +
** [[Сортировка слиянием с использованием О(1) дополнительной памяти|Модифицированная сортировка слиянием]]
 +
** [[Сортировка кучей|Пирамидальная сортировка (Heap Sort)]]
 +
 +
 +
* $O(n)$
  
 
</wikitex>
 
</wikitex>

Версия 01:33, 12 июня 2012

<wikitex>

Эта статья находится в разработке!

Сортировкой называется процесс упорядочивания множества объектов по какому-либо признаку.

Обычно таким признаком служит лексикографический номер.

блаблабла

Классификация сортировок

Будем рассматиривать сортировки массива из $n$ элементов множества $A$, причем на $A$ должно быть выполнено отношение эквивалентности.

Время работы.

Эта классификация является самой важной. В основном временные оценки бывают $O(n \log n)$ и $O(n^2)$.

  • Квадратичные. Такие сортировки самые простые в понимании.
    • Сортировка пузырьком (Bubble Sort) - Алгоритм состоит в повторяющихся проходах по сортируемому массиву. На каждой итерации последовательно сравниваются соседние элементы, и, если порядок в паре неверный, то элементы меняют местами.
    • Сортировка вставками (Insertion Sort) - На каждом шаге алгоритма мы выбираем один из элементов входных данных и вставляем его на нужную позицию в уже отсортированной части массива до тех пор, пока весь набор входных данных не будет отсортирован.
    • Сортировка выбором (Selection Sort) - На каждом $i$-ом шаге алгоритма находим $i$-ый минимальный элемент и меняем его местами с $i$-ым элементом в массиве.



  • Прочие сортировки.
    • Сортировка подсчетом. Сортировка объектов, ключи которых входят в заранее известный диапазон целых чисел. Время работы - $O(n + k)$, где $k$ - длина диапазона.
    • Сортировка Хэна - упоротая сортировка целых чисел с оценкой $O(n \log \log n)$


Затраты памяти


  • $O(n)$

</wikitex>