Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сортировка.docx
Скачиваний:
14
Добавлен:
12.09.2019
Размер:
24.78 Кб
Скачать

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

В данной сортировке также используются две последовательности: готовая и исходная. Основное отличие состоит в том что вставляемый элемент помещается в конец готовой последовательности, при этом он не сравнивается с другими элементами последовательности. Это возможно за счет того что средв исходной последовательности выбирается минимальный, если сортируются данные по возрастанию. Если по убыванию, то максимальный. Минимальный элемент на I шаге будет больше элемента на I-1.

шаг

Готовая последовательность

Исходная последовательность

2

10,3,11,8,15,44,9

2,3

10,11,8,15,44,9

2,3,8

10,11,15,44,9

2,3,8,9

10,11,15,44

2,3,8,9,10

11,15,44

2,3,8,9,10,11

15,44

Имеется последовательность 4,7,12,52,9,60,11. Отсортировать в порядке возрастания.

шаг

готовая

исходная

4

7,12,52,9,60,11

4,7

12,52,9,60,11

4,7,9

12,52, 60,11

4,7,9,11

12,52,60

4,7,8,11,12

52,60

4,7,8,11,12,52

60

Имеется последовательность 23,17,5,19,47,99,3,14 отсортировать в порядке возрастания.

шаг

готовая

исходная

3

23,17,5,19,47,99,14

3,5

23,17, 19,47,99,14

3,5,14

23,17, 19,47,99,14

3,5,14,17

23,17, 19,47,99

3,5,14,17,19

23, 19,47,99

Имеется последовательность 19,8,15,3,14,27,8,4 отсортировать в порядке убывания.

Решений нет. Так, как две восьмерки.

Эффективность алгоритма сортировки прямого выбора.

Эффективность алгоритма осуществляется следующим образом C= n*(n-1)/2. Число перестановок Mmin=3*(n-1)

Mmax=3*(n-1)+C

Имеется последовательность 9,0,16,24,14 отсорт. В порядке возрастания.

шаг

Готов.

Исходн.

0

9,16,24,14

0,9

16,24,14

0,9,14

16,24

0,9,14,16

24

0,9,14,16,24

-

Определить минимальное число перестановок.

3*(5-1)=12.

Сортировка прямого обмена.

Данный алгоритм сортировки основывается на смене пар для двух соседних элементов. И продолжается до тех пор пока не будут упорядочены все элементы. В сортировке повторяются проходы по массиву каждый раз сдвигая наименьший элемент к левому краю массива.

Данный алгоритм можно реализовать простым способом, где будет присутствовать большое количество проходов в ХОЛОСТУЮ. Так же алгоритм можно реализовать с использованием флага, что сэкономит число пустых проходов по массивы и на числе сравнения соседних элементов. Использование флага в сортировке получило название – Шейкерная сортировка. Эффективность алгоритма сортировки, максимальное число сравнений определяется по формуле Cmax=n*(n-1)/2/ максимальное число перемещений Mmax=3Cmax, Mmin=3Cmin. Сравнительный анализ сортировок показывает что пузырьковая сортировка представляет собой среднее между сортировками включения и сортировками выбора.