Алгоритмы сортировки


Сортировки посредством выбора


Download 64.91 Kb.
bet12/15
Sana28.10.2023
Hajmi64.91 Kb.
#1732312
1   ...   7   8   9   10   11   12   13   14   15
Bog'liq
Алгоритмы сортировки

Сортировки посредством выбора

Сортировка посредством простого выбора

  • По сравнению с основными элементами таких алгоритмов здесь добавлены два улучшения:
    • выбранный элемент можно записывать в соответствующую позицию, а элемент который её занимает, переносится на место выбранного;
    • удобно выбирать наибольший элемент.

пример

  • 25 57 48 37 12 92 86 33
  • 25 57 48 37 12 33 86 92
  • 25 57 48 37 12 33 86 92
  • 25 33 48 37 12 57 86 92
  • 25 33 12 37 48 57 86 92
  • 25 33 12 37 48 57 86 92
  • 25 12 33 37 48 57 86 92
  • 12 25 33 37 48 57 86 92
  • Анализ показывает, что алгоритм чуть медленнее простых вставок, но предпочтительней метода пузырька (меньше число обменов).

Квадратичный выбор

  • Возможно улучшение алгоритма простого выбора за счёт использования извлечённой раньше информации при последующих выборах.
  • Один из способов сэкономить время на последующих выборах – разбить последовательность на группы. В нашем случае на 2 группы и в каждой группе определяем наибольший элемент.
  • 25 57 48 37 | 12 92 86 33
  • 57 92
  • 92
  • 57 86
  • 86 92
  • 33
  • 57 86 92
  • 33
  • 48 57 86 92
  • 37 33
  • 37 48 57 86 92
  • 33
  • 33 37 48 57 86 92
  • 12
  • 25 33 37 48 57 86 92
  • 12
  • 12 25 33 37 48 57 86 92
  • Оценка сложности этого метода О(n√n), что существенно лучше О (n2).
  • Эту идею можно обобщить:
  • Если разбить последовательность на три части, то получится в результате метод кубического выбора, если разбить на четыре части - выбор четвертой степени и т.д. В пределе выбор n степени основан на структуре бинарного дерева

Download 64.91 Kb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   15




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling