Файл: Лабораторная работа 1 5 Бинарные деревья 5 Цель работы 5 Краткие теоретические сведения 5 Постановка задачи 6.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.11.2023
Просмотров: 553
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство образования и науки Российской ФедерацииФедеральное государственное бюджетное образовательное учреждение высшего образованияПермский национальный исследовательскийполитехнический университетКафедра «Информационные технологии и автоматизированные системы»Структурное и объектно-ориентированное программирование на С++. Лабораторный практикум.Часть III.Представление графических объектов и проектирование программ на С++.Авторы: Бартов Е.И., Ерохин Н.В., Торопицын М.С.Пермь, 2018
Лабораторная работа № 1 5
Бинарные деревья 5
1.1.Цель работы: 5
1.2.Краткие теоретические сведения 5
1.3.Постановка задачи 6
1.4.Варианты заданий 8
1 . Тип информационного поля char. Найти количество элементов с заданным ключом. 8
2. Тип информационного поля int. Найти максимальный элемент в дереве. 8
3 . Тип информационного поля char*. Найти количество листьев в дереве. 8
4 . Тип информационного поля double. Найти минимальный элемент в дереве. 8
5 . Тип информационного поля char. Найти высоту дерева. 8
6 . Тип информационного поля int. Найти среднее арифметическое элементов дерева. 8
7 . Тип информационного поля char*. Найти количество элементов дерева, начинающихся с заданного символа. 8
8. Тип информационного поля char. Найти количество элементов с заданным ключом. 8
9 . Тип информационного поля double. Найти максимальный элемент в дереве. 8
10. Тип информационного поля int. Найти количество листьев в дереве. 8
11. Тип информационного поля double. Найти минимальный элемент в дереве. 8
12. Тип информационного поля char. Найти высоту дерева. 8
13. Тип информационного поля int. Найти среднее арифметическое элементов дерева. 8
14. Тип информационного поля char. Найти количество элементов с заданным ключом. 8
15. Тип информационного поля char*. Найти количество элементов дерева, начинающихся с заданного символа 8
16. Тип информационного поля int. Найти максимальный элемент в дереве. 8
17. Тип информационного поля double. Найти количество листьев в дереве. 8
18. Тип информационного поля int. Найти минимальный элемент в дереве. 8
19. Тип информационного поля char. Найти высоту дерева. 8
20. Тип информационного поля double. Найти среднее арифметическое элементов дерева. 8
21. Тип информационного поля char*. Найти количество элементов дерева, начинающихся с заданного символа. 8
22. Тип информационного поля char. Найти количество элементов с заданным ключом. 8
23. Тип информационного поля char*. Найти количество листьев в дереве. 8
24. Тип информационного поля double. Найти максимальный элемент в дереве. 8
25. Тип информационного поля double. Найти минимальный элемент в дереве. 9
1.5.Методические указания 9
1.6.Содержание отчета 9
Лабораторная работа № 2 10
Введение в теорию графов. Алгоритмы Дейкстры и Флойда 10
2.1.Цель работы: 10
2.2.Краткие теоретические сведения 10
2.3.Варианты заданий 27
2 28
3 28
4 28
5 29
6 29
7 29
8 30
9 30
10 30
11 31
12 31
13 31
14 32
15 32
16 32
17 33
18 33
19 33
34
20 34
21 34
22 34
2.4.Содержание отчета 35
Лабораторная работа № 3 36
Динамическое программирование. Задача коммивояжера 36
3.1.Цель работы: 36
3.2.Краткие теоретические сведения 36
3.3.Постановка задачи 36
3.4.Варианты заданий 38
3.5.Методические указания 40
3.6.Содержание отчета 40
Лабораторная работа № 4 40
STL – стандартная библиотека шаблонов в С++ 40
4.1.Цель работы: 40
4.2.Краткие теоретические сведения 41
4.3.Постановка задачи 45
4.4.Варианты заданий 46
4.5.Методические указания 46
4.6.Содержание отчета 47
Обход дереваДля того, чтобы выполнить определенную операцию над всеми узлами дерева, все узлы надо обойти. Такая задача называется обходом дерева. При обходе узлы должны посещаться в определенном порядке. Существуют три принципа упорядочивания. Рассмотрим дерево, представленное на рисунке 1.1:Рисунок 1.1 – Бинарное деревоНа этом дереве можно определить три метода упорядочивания:Слева направо: Левое поддерево – Корень – Правое поддерево;Сверху вниз: Корень – Левое поддерево – Правое поддерево;Снизу вверх: Левое поддерево – Правое поддерево – Корень.Эти три метода можно сформулировать в виде рекурсивных алгоритмов.void Run(point*p)//обход слева направо{if(p){<обработка p->data>Run(p->left);//переход к левому поддеревуRun(p->right);//переход к правому поддереву}}Если в качестве операции обработки узла поставить операцию вывода информационного поля, то мы получим функцию для печати дерева.
Оглавление
Лабораторная работа № 1 5
Бинарные деревья 5
1.1.Цель работы: 5
1.2.Краткие теоретические сведения 5
1.3.Постановка задачи 6
1.4.Варианты заданий 8
1 . Тип информационного поля char. Найти количество элементов с заданным ключом. 8
2. Тип информационного поля int. Найти максимальный элемент в дереве. 8
3 . Тип информационного поля char*. Найти количество листьев в дереве. 8
4 . Тип информационного поля double. Найти минимальный элемент в дереве. 8
5 . Тип информационного поля char. Найти высоту дерева. 8
6 . Тип информационного поля int. Найти среднее арифметическое элементов дерева. 8
7 . Тип информационного поля char*. Найти количество элементов дерева, начинающихся с заданного символа. 8
8. Тип информационного поля char. Найти количество элементов с заданным ключом. 8
9 . Тип информационного поля double. Найти максимальный элемент в дереве. 8
10. Тип информационного поля int. Найти количество листьев в дереве. 8
11. Тип информационного поля double. Найти минимальный элемент в дереве. 8
12. Тип информационного поля char. Найти высоту дерева. 8
13. Тип информационного поля int. Найти среднее арифметическое элементов дерева. 8
14. Тип информационного поля char. Найти количество элементов с заданным ключом. 8
15. Тип информационного поля char*. Найти количество элементов дерева, начинающихся с заданного символа 8
16. Тип информационного поля int. Найти максимальный элемент в дереве. 8
17. Тип информационного поля double. Найти количество листьев в дереве. 8
18. Тип информационного поля int. Найти минимальный элемент в дереве. 8
19. Тип информационного поля char. Найти высоту дерева. 8
20. Тип информационного поля double. Найти среднее арифметическое элементов дерева. 8
21. Тип информационного поля char*. Найти количество элементов дерева, начинающихся с заданного символа. 8
22. Тип информационного поля char. Найти количество элементов с заданным ключом. 8
23. Тип информационного поля char*. Найти количество листьев в дереве. 8
24. Тип информационного поля double. Найти максимальный элемент в дереве. 8
25. Тип информационного поля double. Найти минимальный элемент в дереве. 9
1.5.Методические указания 9
1.6.Содержание отчета 9
Лабораторная работа № 2 10
Введение в теорию графов. Алгоритмы Дейкстры и Флойда 10
2.1.Цель работы: 10
2.2.Краткие теоретические сведения 10
2.3.Варианты заданий 27
2 28
3 28
4 28
5 29
6 29
7 29
8 30
9 30
10 30
11 31
12 31
13 31
14 32
15 32
16 32
17 33
18 33
19 33
34
20 34
21 34
22 34
2.4.Содержание отчета 35
Лабораторная работа № 3 36
Динамическое программирование. Задача коммивояжера 36
3.1.Цель работы: 36
3.2.Краткие теоретические сведения 36
3.3.Постановка задачи 36
3.4.Варианты заданий 38
3.5.Методические указания 40
3.6.Содержание отчета 40
Лабораторная работа № 4 40
STL – стандартная библиотека шаблонов в С++ 40
4.1.Цель работы: 40
4.2.Краткие теоретические сведения 41
4.3.Постановка задачи 45
4.4.Варианты заданий 46
4.5.Методические указания 46
4.6.Содержание отчета 47
Лабораторная работа № 1
Бинарные деревья
-
-
Цель работы:
-
-
Краткие теоретические сведения
-
либо пустой структурой; -
либо элементом, с которым связано конечное число поддеревьев.
Обход дереваДля того, чтобы выполнить определенную операцию над всеми узлами дерева, все узлы надо обойти. Такая задача называется обходом дерева. При обходе узлы должны посещаться в определенном порядке. Существуют три принципа упорядочивания. Рассмотрим дерево, представленное на рисунке 1.1:Рисунок 1.1 – Бинарное деревоНа этом дереве можно определить три метода упорядочивания:Слева направо: Левое поддерево – Корень – Правое поддерево;Сверху вниз: Корень – Левое поддерево – Правое поддерево;Снизу вверх: Левое поддерево – Правое поддерево – Корень.Эти три метода можно сформулировать в виде рекурсивных алгоритмов.void Run(point*p)//обход слева направо{if(p){<обработка p->data>Run(p->left);//переход к левому поддеревуRun(p->right);//переход к правому поддереву}}Если в качестве операции обработки узла поставить операцию вывода информационного поля, то мы получим функцию для печати дерева.
-
Постановка задачи
-
Варианты заданий
1 . Тип информационного поля char. Найти количество элементов с заданным ключом.
2. Тип информационного поля int. Найти максимальный элемент в дереве.
3 . Тип информационного поля char*. Найти количество листьев в дереве.
4 . Тип информационного поля double. Найти минимальный элемент в дереве.
5 . Тип информационного поля char. Найти высоту дерева.
6 . Тип информационного поля int. Найти среднее арифметическое элементов дерева.
7 . Тип информационного поля char*. Найти количество элементов дерева, начинающихся с заданного символа.
8. Тип информационного поля char. Найти количество элементов с заданным ключом.
9 . Тип информационного поля double. Найти максимальный элемент в дереве.
10. Тип информационного поля int. Найти количество листьев в дереве.
11. Тип информационного поля double. Найти минимальный элемент в дереве.
12. Тип информационного поля char. Найти высоту дерева.
13. Тип информационного поля int. Найти среднее арифметическое элементов дерева.
14. Тип информационного поля char. Найти количество элементов с заданным ключом.
15. Тип информационного поля char*. Найти количество элементов дерева, начинающихся с заданного символа
16. Тип информационного поля int. Найти максимальный элемент в дереве.
17. Тип информационного поля double. Найти количество листьев в дереве.
18. Тип информационного поля int. Найти минимальный элемент в дереве.
19. Тип информационного поля char. Найти высоту дерева.
20. Тип информационного поля double. Найти среднее арифметическое элементов дерева.
21. Тип информационного поля char*. Найти количество элементов дерева, начинающихся с заданного символа.
22. Тип информационного поля char. Найти количество элементов с заданным ключом.
23. Тип информационного поля char*. Найти количество листьев в дереве.
24. Тип информационного поля double. Найти максимальный элемент в дереве.
25. Тип информационного поля double. Найти минимальный элемент в дереве.
-
Методические указания