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

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 5: Строка 5:
 
Обычно таким признаком служит лексикографический номер.
 
Обычно таким признаком служит лексикографический номер.
  
блаблабла
 
  
 
== Классификация сортировок ==
 
== Классификация сортировок ==
Строка 13: Строка 12:
 
=== Время работы. ===
 
=== Время работы. ===
  
Эта классификация является самой важной. В основном временные оценки бывают $O(n \log n)$ и $O(n^2)$.
+
Эта классификация является самой важной. Оценивают худшее время алгоритма, среднее и лучшее.
 +
У большинства алгоритмов временные оценки бывают $O(n \log n)$ и $O(n^2)$.
 +
 
 +
=== Память ===
 +
 
 +
Параметр сортировки, показывающий, сколько дополнительной памяти требуется алгоритму. Сюда входят и дополнительный массив, и переменные, и затраты на стек вызовов. Обычно затраты бывают $O(1)$, $O(\log n)$, $O(n)$.
 +
 
 +
=== Стабильность ===
 +
 
 +
''Стабильной сортировкой'' называется сортировка, не меняющая порядка объектов с одинаковыми ключами.
 +
 
 +
=== Количество обменов ===
 +
 
 +
Важный параметр, когда объекты имеют большой размер.
 +
 
 
* Квадратичные. Такие сортировки самые простые в понимании.
 
* Квадратичные. Такие сортировки самые простые в понимании.
 
** [[Сортировка пузырьком| Сортировка пузырьком (Bubble Sort)]] - Алгоритм состоит в повторяющихся проходах по сортируемому массиву. На каждой итерации последовательно сравниваются соседние элементы, и, если порядок в паре неверный, то элементы меняют местами.
 
** [[Сортировка пузырьком| Сортировка пузырьком (Bubble Sort)]] - Алгоритм состоит в повторяющихся проходах по сортируемому массиву. На каждой итерации последовательно сравниваются соседние элементы, и, если порядок в паре неверный, то элементы меняют местами.
Строка 47: Строка 60:
  
 
</wikitex>
 
</wikitex>
 +
== Ссылки ==
 +
 +
[http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8| Википедия срывает покровы]
  
 
[[Категория: Дискретная математика и алгоритмы]]
 
[[Категория: Дискретная математика и алгоритмы]]
 
[[Категория: Сортировки]]
 
[[Категория: Сортировки]]

Версия 13:47, 12 июня 2012

<wikitex>

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

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

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


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

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

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

Эта классификация является самой важной. Оценивают худшее время алгоритма, среднее и лучшее. У большинства алгоритмов временные оценки бывают $O(n \log n)$ и $O(n^2)$.

Память

Параметр сортировки, показывающий, сколько дополнительной памяти требуется алгоритму. Сюда входят и дополнительный массив, и переменные, и затраты на стек вызовов. Обычно затраты бывают $O(1)$, $O(\log n)$, $O(n)$.

Стабильность

Стабильной сортировкой называется сортировка, не меняющая порядка объектов с одинаковыми ключами.

Количество обменов

Важный параметр, когда объекты имеют большой размер.

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



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


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


  • $O(n)$

</wikitex>

Ссылки

Википедия срывает покровы