Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
САОД / Методы сортировки.ppt
Скачиваний:
17
Добавлен:
26.04.2015
Размер:
390.14 Кб
Скачать

Дана числовая последовательность: 10, 5, 80, 6, 35. Выполнить древесную сортировку. Записать цепочку преобразований.

Сортировка начинается с размещения элементов последовательности в

двоичное дерево по схеме

 

 

 

 

 

 

 

 

 

- первый элемент помещается в корень дерева

(10), затем движение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

осуществляется вниз и слева направо (5 и 80, далее 6 и 35)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

80

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

80

 

 

 

 

 

 

 

 

35

 

 

 

 

 

 

 

 

 

 

 

80

 

 

 

 

 

 

 

 

 

35

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

35

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

35

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

80

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

35

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

20

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

10

 

 

 

 

 

 

 

6

 

 

 

 

 

 

20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

80

 

 

 

35

 

 

 

 

80

 

 

 

 

35

 

 

80

 

 

35

 

 

 

 

 

80

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

Отсортированные элементы обозначены красным цветом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10 20

Таким образом, последовательность упорядочена.

35 80

Простой обмен

Дана числовая последовательность: 10, 5, 80, 6, 35. Выполнить сортировку методом пузырька.

При простом обмене максимальный элемент последовательности за первый проход достигает своего места, т.е. подобно пузырьку «всплывает на поверхность».

10 5 80 6 35 - Исходная последовательность

В данном примере после первого прохода элемент «80» переместится на свое место

 

10

5

80

6

35

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После второго прохода получим

 

 

 

 

 

5

10

6

35

80

отсортированную последовательность

 

 

 

 

 

 

 

 

 

 

 

 

Метод Хоара

Дана числовая последовательность: 10, 5, 80, 6, 35, 4, 15,1.

Выполнить сортировку методом Хоара.

i =j

Просмотр элементов начинается с концов последовательности до тех пор, пока i не станет равнымj

10

5

80

6

35

4

15

1

i

 

 

 

 

 

 

j

1

5

80

6

35

4

15

10

15 4 6 35 80 15 10

Последовательность отсортирована относительно центра

Двойными

стрелками показаны обмены

Отсортированная

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

 

1

5

 

4

6

 

35

 

80

15

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

j

 

 

 

 

 

 

 

i

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

5

 

 

4

6

 

10

 

80

15

35

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

4

 

5

6

 

10

 

15

80

35

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

4

 

5

6

 

10

 

15

35

80

 

 

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

Дана числовая последовательность: 10, 5, 80, 6, 35, 4, 15. Выполнить сортировку слиянием.

10

5

80

6

35

4

15

Исходную последовательность необходимо разбить на группы по два элемента.

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

Выполнить сортировку обменом

5

10

6

80

4

35

15

Объединить группы и выполнить сортировку

5

6

10

80

4

15

35

 

 

Объединить группы и выполнить сортировку

 

 

 

 

 

 

 

 

 

 

Отсортированная последовательность

 

 

4

5

6

10

15

35

80

 

 

 

 

Сортировка распределением

Дана числовая последовательность: 3, 10, 8, 6, 5. Выполнить сортировку вырожденным распределением.

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

1

2

3

4

5

6

7

8

9

10

0

0

1

0

1

1

0

1

0

1

 

 

A1

 

A2

A3

 

A4

 

A5

Теоретическая сложность методов сортировки

Методы

сортировки

Подсчетом

Включением

Шелла

Извлечением

Древесная

Пузырьковая

Быстрая Слиянием Распределением

Tmax

Tmid

Tmin

Omax

 

n2

 

n

 

n2

n

1

n2

n1,25

n

1

 

n2

 

1

 

n*log(n)

 

1

 

n2

n

1

n2

n*log(n)

 

log(n)

 

n*log(n)

 

n

 

n

 

n

Желаю успехов в изучении методов сортировки

Бильгаева Людмила Пурбоевна к.т.н., доцент кафедра «Системы информатики» Восточно-Сибирский

государственный технологический университет

E-mail: bilgaeval@mail.ru

Благодарю за внимание!