Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR17.doc
Скачиваний:
31
Добавлен:
10.03.2016
Размер:
203.26 Кб
Скачать

Лабораторная работа №17 Тема: Деревья

При выполнении лабораторной работы студент должен знать определения дерева, двоичного дерева, основных понятий; способы реализации деревьев.

Уметь выполнять основные операции с двоичными упорядоченными деревьями: заполнение дерева (вставка узла в дерево), обход дерева, поиск узла дерева по заданному ключу, удаление узла дерева по заданному ключу.

Решить следующие задания:

Задание 1. Дано арифметическое выражение. Необходимо:

  • построить для него бинарное дерево (построение произвести в тетради);

  • получить запись арифметического выражения в префиксной и постфиксной форме.

Вариант 1.

M+K/(L–N*P)+T*Y

Вариант 2

((Y+X*K)*(G–S)+T)*(F–K)+D

Вариант 3

(T–S/R)*(Z+X+Y/Q)

Вариант 4

(A*B+(C–D)*F)/G–H

Вариант 5

(M*L–(N+K*F)/S)*T

Вариант 6

P*(A–Q–S)+L/(D+K)

Вариант 7

F+D–G*(X+Y–Z)

Вариант 8

K*T*(L–E/R+S)

Вариант 9

(F*(P–G)+Z/K)*D–T

Вариант 10

M–C/L/(S+R*B)

Вариант 11

(A–P+R/(B–C))/(K+L*F)

Вариант 12

(((M+N)*R+K)*D+F)/G

Вариант 13

S/P–Y*X+D/F

Вариант 14

A/(B+C)–D*F+G

Вариант 15

R+M*(F–K/N)+G*T

Задание 2. Для заданной последовательности целых чисел построить бинарное дерево поиска. Реализовать алгоритмы для работы с деревом поиска, считая, что дерево имеет связное представление:

  1. Построение дерева

  2. Включение узла

  3. Печать дерева в наглядной форме

  4. Сортировка последовательности по возрастанию и убыванию

  5. Поиск элемента в дереве

  6. Удаление дерева.

Требования к программе: программа должна быть реализована таким образом, чтобы пользователь мог выбрать операцию с деревом, т.е. необходимо организовать меню. Последовательность чисел можно хранить в текстовом файле.

Вариант 1.

10, 12, 2, 5, 7, 14, 8, 11

Вставить: 3. 13; Удалить: 8

Сортировать по возрастанию

Вариант 2

11, 16, 7, 4, 5, 2, 12, 18, 14

Вставить 6, 13. Удалить: 12

Сортировать по убыванию

Вариант 3

18, 10, 11, 4, 2, 5, 7, 17

Вставить 8, 13. Удалить: 11

Сортировать по возрастанию

Вариант 4

7, 17, 8, 10, 14, 12, 9, 15, 1, 2

Вставить 3, 11. Удалить: 10

Сортировать по убыванию

Вариант 5

13, 2, 15, 4, 1, 6, 14, 3, 18

Вставить 5, 12. Удалить: 3

Сортировать по возрастанию

Вариант 6

5, 15, 3, 12, 18, 11, 17, 1, 4

Вставить 2, 13. Удалить: 11

Сортировать по убыванию

Вариант 7

13, 8, 15, 12, 18, 0, 9, 16, 14

Вставить 7, 11. Удалить: 9

Сортировать по возрастанию

Вариант 8

8, 11, 5, 2, 13, 7, 4, 15, 12, 10

Вставить 3, 9. Удалить: 5

Сортировать по убыванию

Вариант 9

18, 11, 6, 12, 9, 19, 4, 21

Вставить 8, 13. Удалить: 6

Сортировать по убыванию

Вариант 10

18, 13, 25, 2, 14, 8, 1, 16, 28

Вставить 3, 10. Удалить: 8

Сортировать по возрастанию

Вариант 11

14, 5, 29, 18, 0, 8, 17, 20, 19

Вставить 9, 13. Удалить: 18

Сортировать по убыванию

Вариант 12

16, 22, 2, 23, 15, 3, 18, 0

Вставить 5, 13. Удалить: 15

Сортировать по возрастанию

Вариант 13

24, 19, 21, 25, 8, 18, 26, 4, 23

Вставить 9, 13. Удалить: 21

Сортировать по убыванию

Вариант 14

6, 29, 20, 15, 5, 28, 36, 2, 22

Вставить 7, 13. Удалить: 15

Сортировать по возрастанию

Вариант 15

17, 6, 9, 15, 29, 8, 22, 31, 35

Вставить 5, 13. Удалить: 22

Сортировать по убыванию

Задачи для самостоятельного решения

  • Дано двоичное дерево. Необходимо проверить, является ли оно деревом поиска.

  • Дан текст. Необходимо проверить частоту использования каждого символа в тексте. Результат оформить в виде таблицы, содержащей символы в алфавитном порядке и частоту их появления в тексте.

  • Пусть символы a, b, c, d, e, f имеют вероятности появления соответственно 0.07, 0.09, 0.12, 0.22, 0.23, 0.27. Найдите оптимальный код Хаффмана и нарисуйте соответствующее ему дерево.

  • Дано дерево T, напишите программу, строящую копию данного дерева.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]