Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы и алгоритмы сортировки и обработки данных / Методические указания для заочников (часть 1).doc
Скачиваний:
35
Добавлен:
01.05.2014
Размер:
148.99 Кб
Скачать

3.1.9. Поразрядная сортировка

Идея данной сортировки заключается в том, что с начала сортируются младшие разряды значений, а затем старшие.

Пример :

Исх. Массив

Сортировка по младшему разряду

Сортировка по старшему разряду

19

01

01

13

31

02

05

11

05

27

02

09

01

13

11

26

05

13

31

26

16

16

16

19

02

27

26

09

19

27

11

09

31

3.1.10.Сортировка поразрядным группированием

Данная сортировка начинается с анализа самого младшего разряда цифры ключевого слова, а затем все величины с одинаковыми младшими разрядами объединяются в группы. Затем содержимое групп располагаются в порядке возрастания значения анализируемого разряда и процесс повторяется до тех пор, пока не остается цифр слева. Система счисления с основанием Р требует Р групп.

Пример:

Исх. массив: 19 13 05 27 01 26 31 16 02 09 11

Первое распределение, происходит по последней цифре

0: нет

1: 01, 31, 11

2: 02

3: 13

4: нет

5: 05

6: 26, 16

7: 27

8: нет

9: 19, 09

Получаем объединение: 01 31 11 02 13 05 26 16 27 19 09

Второе распределение осуществляем по первой цифре, получаем

0: 01, 02, 05, 09

1: 11, 13, 16, 19

2: 26, 27

3: 31

4-9: нет

Окончательное объединение: 01 02 05 09 11 13 16 19 26 27 31

3.2. Сортировка последовательностей

3.2.1. Трехленточная сортировка

Трехленточная сортировка последовательностей, представляет из себя простое прямое слияние последовательностей, для осуществления которого требуется три ленты. Суть метода состоит в следующем - исходная последовательность разбивается на две части, затем эти части сливаются, причем одиночные элементы образуют упорядочные пары. Полученная последовательность вновь разбивается на две части и сливаются, при этом упорядоченные пары образуют упорядоченные четверки. И так далее - четверки сливаются в восьмерки и т.п., каждый раз удваивая длину слитых последовательностей до тех пор, пока не будет упорядоченна вся последовательность целиком.

Число пересылок : M = n * log n

Пример:

Исх. послед.: 44 55 12 42 94 13 05 67

1. 44 55 12 42

94 18 06 67

44 94 18 55 06 12 42 67

2. 44 94 18 55

06 12 42 67

06 12 44 94 18 42 55 67

3. 06 12 44 94

18 42 55 67

06 12 18 42 44 55 67 94

3.2.2. Сортировка естественным слиянием

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

Пример:

Имеем исходную последовательность (серии разделены ";") -

17 31; 05 59; 13 41 43 67; 11 23 29 47; 03 07 71; 02 19 57; 37 61

объединяем серии по две, одна последняя серия лишняя -

05 17 31 59; 11 13 23 29 41 46 47 67; 02 03 07 19 57 71; 37 61

05 11 13 17 23 29 31 41 43 47 59 67; 02 03 07 19 37 57 61 71

02 03 05 07 11 13 17 19 23 29 31 37 41 43 47 57 59 61 67 71