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

Сортировка

Это расположение данных в памяти ЭВМ в регулируемом виде по их ключам. При обработке данных важно знать информационное поле данных и размещение их в машине. Различают внутреннюю и внешнюю сортировку. Внутренняя – это сортировка в оперативной памяти. Внешняя - сортировка во внешней памяти. Если сортируемые записи занимают большой объем памяти, то их перемещение требует больше времени. Для уменьшения затрат используют метод сортировки таблицы адресов. Производится перестановка указателей , сам массив не перемещается. При сортировке могут встречаться одинаковые ключи данных , в этом случае одинаковые ключи желательно расположить в том же порядке , что и в исходном файле. Эфективность сотировки определяется: 1 временем затраченным на сортировку 2 объемом оперативной памяти 3 временем затраченным на написание программы. Порядок числа сравнений при сортировки определяется в пределах от O(nlogn) до O(n2). Сортировки классифицируются:

1 строгие

2 улучшенные методы сортировки

Сортировка методом прямого включения.

Элементы мысленно делятся на готовую последовательность аn…..1. При каждом шаге элементы увеличиваются на еденицу, а в готовой увеличиваются. Т.е. итый элемент извлекается из исходной последовательности и перекладывается в готовую последовательность, при этом он вставляется на нужное место среди элементов готовой последовательности.

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

Шаг

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

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

1

10

3,11,8,2,…9

2

3,10

11,8,2,…9

3

3,10,11

4

3,8,10,11

8,2,15,44,9

5

2,3,8,10,11

2,15,44,9

6

2,3,8,10,11

15,44,9

7

2,3,8,10,11,15

44,9

8

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

В данной сортировке на первом шаге элемент 10 является началом готовой последовательности. Элементы сравниваются с первым элементом готовой последовательности и занимают свое место справа или слева от первого элемента.

Эффективность сортировки прямого включения.

Если последовательность отсортирована в нужном порядке, томаксимальное число сравнений может возникнуть на итовом шаге и определяется по фОРМУЛЕ Сmax =I – 1 Cmin=1 Если равновероятны все перестановки, то среднее число сравнений определяется:

Cср=i/2

Если массив отсортирован в обратном порядке то число сравнений определяется по формуле:

Cmax=n(n-1)/2 Данный случай является наихудшим. Количество перестановок определяется как: Cmax + 3(n-1)

Имеетсяпоследовательность 42,7,12,32,35,7 Отсортировать в порядке возрастания, определить максимальное число сравнений.

шаг

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

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

1

42

7,12,32,35,7

2

7,42

12,32,35,7

3

7,12,42

32,35,7

4

7,12,32,42

35,7

5

7,12,32,35

7

6

7,7,12,32,35

-

7

8

Cmax=i-1=6-1=5

Имеется последовательность: 12,4,18,24 отсортировать в порядке убывания, определить количество перестановок.

шаг

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

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

1

12,4,18,24

2

4,18,24

3

,18

4

5

6

7

Имеется последовательность 4,9,43,52,17,20,76 отсортировать в порядке возрастания, определить Cmin сравнений.

шаг

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

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

4

9,43,52,17,20,76

4,9

43,52,17,20,76

4,9,43

52,17,20,76

4,9,43,52

17,20,76

4,9,17,43,52

20,76

4,9,17,20,43,52

76

4,9,17,20,43,52,76

-

Cmin=1

Имеется последовательность 13,99,15,32,9,68,102 отсортировать в порядке возрастания, определить сисло перестановак и максимальное число сравнений.

шаг

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

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

13

99,15,32,9,68,102

13,99

15,32,9,68,102