Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИиП_5.rtf
Скачиваний:
10
Добавлен:
31.03.2015
Размер:
838.23 Кб
Скачать

Лекция 5

НЕКОТОРЫЕ ТИПИЧНЫЕ АЛГОРИТМЫ /3,5,7,9/

------------------------------------------------------------------------------------------------------------------

5.1. Вводный комментарий

5.2. Алгоритмы поиска

5.3. Сортировка массивов

5.3.1. Вводный комментарий

5.3.2. Сортировка простыми включениями

5.3.3. Сортировка простым выбором

5.3.4. Сортировка простым обменом (метод пузырька)

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

5.4.1. Сортировка включениями с убывающими приращениями

5.4.2. Сортировка с помощью дерева (пирамидальная сортировка)

5.4.3. Сортировка с разделением (быстрая сортировка)

5.4.4. Сравнение методов сортировки

5.4.5. Алгоритм поиска медианы

5.5. Алгоритмы сжатия информации

5.5.1. Основные понятия

5.5.2. Кодирование Хаффмена

5.5.3. Адаптивное сжатие

5.5.4. Кодирование Лемпела-Зива

5.6. Рекурсивные алгоритмы

5.6.1. Основные понятия

5.6.2. Типичные примеры рекурсивных алгоритмов

-----------------------------------------------------------------------------------------------------------------

5.1. Вводный комментарий

Рисунок 5.1

5.2. Алгоритмы поиска

Линейный поиск.

Дихотомию (поиск делением пополам или двоичный поиск)

Поиск в таблице.

Прямой поиск строки.

Поиск в строке.

5.3. Сортировка массивов

5.3.1. Вводный комментарий

Сортировка это распределение элементов множества по группам в соответствии с определенными правилами.

5.3.2. Сортировка простыми включениями

Таблица 5.1

Пример упорядочения элементов числового массива по возрастанию методом сортировки простыми включениями представлен на рисунке 5.2.

5.3.3. Сортировка простым выбором

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

Рис. 5.1. Типичные алгоритмы работы с массивами

Таблица 5.1 Иллюстрация сортировки простыми включениями

Начальные ключи

44

55

12

42

94

18

06

67

i=2

44

55

12

42

94

18

06

67

i=3

12

44

55

42

94

18

06

67

i=4

12

42

44

55

94

18

06

67

i=5

12

42

44

55

94

18

06

67

i=6

12

18

42

44

55

94

06

67

i=7

06

12

18

42

44

55

94

67

i=8

06

12

18

42

44

55

67

94

_

+

+

Рис. 5.2. Блок-схема сортировки простыми включениями

Иллюстрация сортировки простым выбором

Начальные ключи

44

55

12

42

94

18

06

67

i=2

06

55

12

42

94

18

44

67

i=3

06

12

55

42

94

18

44

67

i=4

06

12

18

42

94

55

44

67

i=5

06

12

18

42

94

55

44

67

i=6

06

12

18

42

44

55

94

67

i=7

06

12

18

42

44

55

94

67

i=8

06

12

18

42

44

55

67

94

+

+ –

+

Рис. 5.3. Блок-схема сортировки простым выбором

5.3.4. Сортировка простым обменом (метод пузырька)

Пример упорядочения элементов одномерного числового массива по возрастанию методом сортировки простым обменом представлен на рисунке 5.4. Сравнение элементов начинается с конца последовательности.

Таблица 5.3

Иллюстрация сортировки методом пузырька

Начальные ключи

i=2

i=3

i=4

i=5

i=6

i=7

i=8

44

06

06

06

06

06

06

06

55

44

12

12

12

12

12

12

12

55

44

18

18

18

18

18

42

12

55

44

42

42

42

42

94

42

18

55

44

44

44

44

18

94

42

42

55

55

55

55

06

18

94

67

67

67

67

67

67

67

67

94

94

94

94

94

Таблица 5.4

Иллюстрация шейкер-сортировки

i=2

i=3

i=3

i=4

i=4

r=8

r=8

r=7

r=7

r=4

44

06

06

06

06

55

44

44

12

12

12

55

12

44

18

42

12

42

18

42

94

42

55

42

44

18

94

18

55

55

06

18

67

67

67

67

67

94

94

94