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

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

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

Пример: 10,3,11,8,2,15,44,9

Шаг

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

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

1

2

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

2

2,3

10,11,8,15,44,9

3

2,3,8

10,11,15,44,9

4

2,3,8,9

10,11,15,44

5

2,3,8,9,10

11,15,44

6

2,3,8,9,10,11

15,44

7

2,3,8,9,10,11,15

44

8

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

-

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

Шаг

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

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

1

4

7,12,52,9,60,11

2

4,7

12,52,9,60,11

3

4,7,9

12,52,60,11

4

4,7,9,11

12,52,60

5

4,7,9,11,12

52,60

6

4,7,9,11,12,52

60

7

4,7,9,11,12,52,60

-

Пример: 23,17,5,19,47,99,3,14

Шаг

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

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

1

3

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

2

3,5

23,17,19,47,99,14

3

3,5,14

23,17,19,47,99

4

3,5,14,17

23,19,47,99

5

3,5,14,17,19

23,47,99

6

3,5,14,17,19,23

47,99

7

3,5,14,17,19,23,47

99

8

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

-

Пример: 19,8,15,3,14,27,8,4. Убывания.

Шаг

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

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

1

27

19,8,15,3,14,8,4

2

27,19

Т.к. в условии имеется 2 одинаковых элемента (8), то программа выдаст ошибку.

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

C=n*(n–1)/2. Число перестановок: m­min­=3*(n-1); m­max­=3*(n-1)+c.

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

Шаг

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

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

1

0

9,16,24,14

2

0,9

16,24,14

3

0,9,14

16,24

4

0,9,14,16

24

5

0,9,14,16,24

-

M­min­=3*(5-1)=12

Пример: 12,1,7,16,28,40,88,4,19. По возрастанию. Максимальное число перестановок.

Шаг

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

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

1

1

12,7,16,28,40,88,4,19

2

1,4

12,7,16,28,40,88,19

3

1,4,7

12,16,28,40,88,19

4

1,4,7,12

16,28,40,88,19

5

1,4,7,12,16

28,40,88,19

6

1,4,7,12,16,19

28,40,88

7

1,4,7,12,16,19,28

40,88

8

1,4,7,12,16,19,28,40

88

9

1,4,7,12,16,19,28,40,88

-

M­max­=3*(9-1)+36=60