- •В. Д. Колдаев Лабораторный практикум по курсу « Структуры и алгоритмы обработки данных »
- •Часть 1
- •Лабораторная работа № 1 « Методы сортировки »
- •Теоретические сведения
- •Методы сортировки
- •Сортировка вставкой
- •Сортировка обменом
- •Сортировка Шелла
- •Быстрая сортировка (сортировка Хоара)
- •Сортировка в нелинейных структурах
- •Турнирная сортировка
- •Пирамидальная сортировка
- •Функция сложности алгоритма
- •Лабораторное задание
- •Методика выполнения лабораторной работы
- •Основные функции системы
- •Варианты заданий
- •Лабораторная работа №2 «Методы поиска».
- •Теоретические сведения
- •Методы поиска
- •Последовательный поиск.
- •Бинарный поиск.
- •Фибоначчиев поиск.
- •Интерполяционный поиск.
- •Поиск по бинарному дереву.
- •Поиск по бору.
- •Поиск хешированием.
- •Алгоритмы поиска словесной информации
- •Алгоритм Бойера - Мура
- •Лабораторное задание
- •Методика выполнения лабораторной работы
- •Варианты заданий
- •Использовать алгоритмы Кнута - Морриса – Пратта, Бойера – Мура, Рабина для поиска текстовой информации. Лабораторная работа № 3 «итеративные и рекурсивные алгоритмы»
- •Теоретические сведения
- •Рекурсивные структуры данных
- •Лабораторное задание
- •Требования к отчету
- •Контрольные вопросы
- •Литература
- •Лабораторная работа № 4 «Алгоритмы построения остовного дерева сети».
- •Теоретические сведения
- •Лабораторное задание
- •Литература
- •Задание : Построить остовное дерево графа методами Крускала и Прима.
- •Решить задачи
- •Лабораторная работа № 5. Алгоритмы нахождения на графах кратчайших путей.
- •Теоретические сведения
- •Метод динамического программирования.
- •Метод Дейкстры
- •Алгоритм Флойда
- •Алгоритм Йена
- •Литература
- •Лабораторное задание.
- •Варианты заданий
- •Задание 2: Найти кратчайший путь между тремя парами вершин методом Дейкстры
- •Решить задачи
- •Составить программу для нахождения кратчайшего пути
- •Лабораторная работа № 6 « Эвристические алгоритмы »
- •Теоретические сведения
- •Волновой алгоритм.
- •Двухлучевой алгоритм.
- •Пример 2. Осуществить трассировку элементов а и в .
- •Четырехлучевой алгоритм.
- •Маршрутный алгоритм.
- •Геометрическая модель задачи о лабиринте
- •Алгоритмы составления расписания.
- •Литература
- •Лабораторное задание.
- •Решить задачи
Варианты заданий
Задание 1: Найти кратчайший путь на графе между тремя парами вершин методом динамического программирования
Варианты Граф
1, 13
2, 14
3, 15
4, 16
5, 17, 25
6, 18
7, 19
8, 20
9; 21
10; 22
11; 23
12; 24
Задание 2: Найти кратчайший путь между тремя парами вершин методом Дейкстры
1; 24
2; 23
3; 22
4; 21
5; 20
6; 19
7; 18
8; 17
9; 16
10; 15; 25
11; 14
12; 13
Решить задачи
Задание 1.Дана карта автомобильных дорог. Найти кратчайший путь, учитывая длины дорог, из Ярославля до Новосибирска. Использовать только те города, которые отмечены флажком. Совпадет ли кратчайший маршрут, если не брать во внимание длины дорог?
|
Задание 2.Дана карта Европы. Турагенству необходимо найти кратчайший туристический маршрут между произвольно выбранными странами Европы.
|
Задание 4.На участке 3 дома и 3 колодца. От каждого дома к каждому колодцу ведет тропинка. Когда владельцы домов поссорились, они задумали проложить дорогу от каждого дома к каждому колодцу так, чтобы не встречаться на пути к колодцам. Может ли осуществиться их намерение?
Составить программу для нахождения кратчайшего пути
Вариант
1. Путь из 1 в 9 Вариант
3. Путь из 1 в 9
Вариант
2. Путь из 2 в 5 Вариант
4. Путь из 2 в 5
Вариант
5. Путь из 2 в 7 Вариант
8. Путь из 2 в 9 Вариант
6. Путь из 1 в 7 Вариант
9. Путь из 1 в 5 Вариант
7. Путь из 4 в 1 Вариант
10. Путь из 1 в 3
Вариант
11. Путь из 2 в 7 Вариант
14. Путь из 2 в 9 Вариант
12. Путь из 1 в 7 Вариант
15. Путь из 1 в 5 Вариант
13. Путь из 4 в 1 Вариант
16. Путь из 1 в 3
Вариант
17. Путь из 2 в 7 Вариант
20. Путь из 2 в 9 Вариант
18. Путь из 1 в 7 Вариант
21. Путь из 1 в 5 Вариант
19. Путь из 4 в 1 Вариант
22. Путь из 1 в 3
Вариант
23. Путь из 1 в 9 Вариант
25. Путь из 1 в 9 Вариант
24.
Путь из 2 в 5 Вариант
26. Путь из 2 в 5
Лабораторная работа № 6 « Эвристические алгоритмы »
Цель работы:ознакомление с эвристическими алгоритмами и методикой оценки их эффективности .
Продолжительность работы:- 2 часа.
Теоретические сведения
Эвристический алгоритм – это алгоритм , в котором на определенном этапе используется интуиция разработчика . Если решение , принятое разработчиком , окажется неверным результат все равно будет получен , но за большее число шагов . Таким образом в эвристических алгоритмах можно увеличить скорость получения правильного результата
К эвристическим алгоритмам относятся : волновой , двухлучевой , четырехлучевой , маршрутный, алгоритмы составления расписания.