- •Лабораторный практикум по курсу « Структуры и алгоритмы обработки данных » Оглавление
- •20 Методика выполнения лабораторной работы 28
- •30 Лабораторное задание 45
- •47 Решение задач 72
- •1. Лабораторная работа - Методы сортировки
- •Теоретические сведения
- •Сортировка выбором
- •Сортировка вставкой
- •Сортировка обменом
- •Сортировка Шелла
- •Быстрая сортировка (сортировка Хоара)
- •Сортировка в нелинейных структурах
- •Турнирная сортировка
- •Пирамидальная сортировка
- •Функция сложности алгоритма
- •Лабораторное задание
- •Методика выполнения лабораторной работы
- •Пояснения к выполнению работы.
- •Лабораторная работа -Методы поиска
- •Теоретические сведения
- •Последовательный поиск.
- •Бинарный поиск.
- •Фибоначчиев поиск.
- •Интерполяционный поиск.
- •Поиск по бинарному дереву.
- •Поиск по сбалансированному дереву.
- •Поиск по бору
- •Поиск хешированием
- •Алгоритмы поиска словесной информации
- •Алгоритм Кнута - Морриса - Пратта
- •Алгоритм Бойера - Мура
- •Алгоритм Рабина
- •Лабораторное задание
- •Методика выполнения лабораторной работы
- •Лабораторная работа -Итеративные и рекурсивные алгоритмы
- •Теоретические сведения
- •Итеративный алгоритм.
- •Итеративное вычисление факториала
- •Рекурсивное вычисление факториала
- •Рекурсивные структуры данных
- •Формирование бинарного дерева
- •Рекурсивная процедура обхода узлов дерева сверху-вниз
- •Лабораторное задание
- •Требования к отчету
- •Контрольные вопросы
- •Литература
- •Лабораторная работа - Алгоритмы построения остовного дерева сети
- •Теоретические сведения
- •Алгоритмы Крускала и Прима
- •Пример со схемой микрорайона
- •Пример со схемой компьютерной сети
- •Лабораторное задание
- •Требования к отчёту
- •Литература
- •Задание к лабораторной работе 4
- •Решение задач
- •Лабораторная работа - Алгоритмы нахождения на графах кратчайших путей
- •Теоретические сведения
- •Метод динамического программирования.
- •Пример определения кратчайшего пути №1
- •Пример нахождения кратчайшего пути при условии, что граф неориентированный№2
- •Метод Дейкстры
- •Алгоритм Флойда
- •Алгоритм Йена
- •Алгоритм Беллмана- Форда
- •Литература
- •Лабораторное задание.
- •Требования к отчету
- •Варианты заданий
- •Задание 1: Найти кратчайший путь на графе между тремя парами вершин методом динамического программирования
- •Задание 2: Найти кратчайший путь между тремя парами вершин методом Дейкстры
- •Решение задач
- •Задание на разработку программы
- •Лабораторная работа -Эвристические алгоритмы
- •Теоретические сведения
- •Волновой алгоритм
- •Двухлучевой алгоритм.
- •Пример 2. Осуществить трассировку элементов а и в .
- •Четырехлучевой алгоритм
- •Маршрутный алгоритм.
- •Геометрическая модель задачи о лабиринте
- •Алгоритмы составления расписания.
- •Литература
- •Лабораторное задание.
- •Требования к отчету
- •Решение задач
Лабораторный практикум по курсу « Структуры и алгоритмы обработки данных » Оглавление
1 Теоретические сведения 5
2 Сортировка выбором 6
3 Сортировка вставкой 6
4 Сортировка Шелла 10
5 Быстрая сортировка (сортировка Хоара) 11
6 Сортировка в нелинейных структурах 12
.6.1 Турнирная сортировка 12
.6.2 Пирамидальная сортировка 12
7 Функция сложности алгоритма 13
8 Методика выполнения лабораторной работы 14
9 Пояснения к выполнению работы. 16
10 Теоретические сведения 18
11 Последовательный поиск. 18
12 Бинарный поиск. 18
13 Фибоначчиев поиск. 19
14 Интерполяционный поиск. 20
15 Поиск по бинарному дереву. 21
16 Поиск по сбалансированному дереву. 22
17 Поиск по бору 23
18 Поиск хешированием 24
19 Алгоритмы поиска словесной информации 25
.19.1 Алгоритм Кнута - Морриса - Пратта 25
.19.2 Алгоритм Бойера - Мура 26
.19.3 Алгоритм Рабина 27
20 Методика выполнения лабораторной работы 28
21 Теоретические сведения 30
22 Итеративный алгоритм. 30
.22.1 Итеративное вычисление факториала 30
.22.2 Рекурсивное вычисление факториала 31
23 Рекурсивные структуры данных 32
.23.1 Формирование бинарного дерева 36
.23.2 Рекурсивная процедура обхода узлов дерева сверху-вниз 36
24 Лабораторное задание 37
25 Требования к отчету 38
26 Контрольные вопросы 38
27 Литература 38
28 Теоретические сведения 39
29 Алгоритмы Крускала и Прима 40
.29.1 Пример со схемой микрорайона 42
.29.2 Пример со схемой компьютерной сети 44
30 Лабораторное задание 45
31 Требования к отчёту 45
32 Литература 45
33 Задание к лабораторной работе 4 46
34 Решение задач 49
35 Теоретические сведения 51
36 Метод динамического программирования. 51
37 Пример определения кратчайшего пути №1 52
38 Пример нахождения кратчайшего пути при условии, что граф неориентированный№2 54
39 Метод Дейкстры 56
40 Алгоритм Флойда 58
41 Алгоритм Йена 60
42 Алгоритм Беллмана- Форда 61
43 Литература 61
44 Лабораторное задание. 62
45 Требования к отчету 63
46 Варианты заданий 64
.46.1 Задание 1: Найти кратчайший путь на графе между тремя парами вершин методом динамического программирования 64
.46.2 Задание 2: Найти кратчайший путь между тремя парами вершин методом Дейкстры 68
47 Решение задач 72
48 Задание на разработку программы 74
49 Теоретические сведения 79
50 Волновой алгоритм 79
51 Двухлучевой алгоритм. 80
52 Четырехлучевой алгоритм 81
53 Маршрутный алгоритм. 81
54 Геометрическая модель задачи о лабиринте 83
55 Алгоритмы составления расписания. 85
56 Литература 87
57 Лабораторное задание. 87
58 Требования к отчету 87
59 Решение задач 88
В лабораторном практикуме рассмотрен широкий круг алгоритмов обработки линейных и нелинейных структур данных, без знания которых невозможно современное компьютерное моделирование. Приведены основные понятия и определения, технология работы и фрагменты программ. В конце каждой лабораторной работы имеются варианты заданий и задачи для самостоятельного решения. Практикум предназначен для студентов, аспирантов и преподавателей.