Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатикаАЭС_часть 2(версия11.05.2012).docx
Скачиваний:
76
Добавлен:
11.04.2015
Размер:
808.57 Кб
Скачать

Лабораторная работа № 17 операции над бинарными деревьями

Цель работы: приобрести навыки создания и обработки бинарных деревьев.

Подготовка к лабораторной работе

При подготовке к лабораторной работе следует повторить следующие вопросы:

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

  2. Принципы организации дерева поиска;

  3. Основные операции над деревьями;

  4. Размещение древовидной структуры в памяти эвм.

  5. В соответствии с индивидуальным заданием составить схему алгоритма и программу на языке C++.

Задание к лабораторной работе

В соответствии с вариантом задания разработать программу создания и обработки динамической структуры данных.

Варианты заданий:

Таблица 5

Вариант

Условие задачи

Вид дерева

1

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

2

Построить бинарное дерево поиска. Подсчитать количество узлов с ключом меньше 15. Вывести узлы дерева обходом сверху.

3

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

4

Построить бинарное дерево поиска. Определить значение ключа самого правого узла левого его поддерева. Вывести значения узлов в порядке обхода снизу.

5

Построить бинарное дерево поиска. Подсчитать количество узлов со значением ключа больше 5. Вывести значения узлов в порядке обхода снизу.

6

Построить бинарное дерево поиска. Исключить из него узел с ключом 15. Определить сколько узлов расположено в левом поддереве. Вывести значения узлов в порядке обхода сверху.

7

Построить бинарное дерево поиска. Подсчитать среднее арифметическое значение его узлов. Вывести значения узлов в порядке обхода слева

8

Построить бинарное дерево поиска. Исключить из него узел с ключом 60. Подсчитать количество листьев. Вывести значения узлов в порядке обхода сверху.

9

Построить бинарное дерево поиска. Определить значение ключа самого левого узла правого его поддерева. Вывести значения узлов в порядке обхода снизу.

10

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

11

Построить бинарное дерево поиска. Включить в него узел с ключом 33. Подсчитать количество потомков узла 30. Вывести значения узлов в порядке обхода снизу.

12

Построить бинарное дерево поиска. Исключить из него узел с ключом 11. Подсчитать количество узлов ветвления. Вывести значения узлов в порядке обхода сверху.

13

Построить бинарное дерево поиска. Удалить все узлы, имеющие значения ключей больше 45. Вывести значения узлов в порядке обхода слева.

14

Построить бинарное дерево поиска. Включите в него узел с ключей 70. Определить сумму наибольшего и наименьшего ключа. Вывести значения узлов в порядке обхода снизу.

15

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

16

Построить бинарное дерево поиска. Исключить из него узел с ключом 10. Определить высоту дерева. Вывести значения узлов в порядке обхода слева.

17

Построить бинарное дерево поиска. Удалить все узлы, имеющие значения ключей меньше 33. Вывести значения узлов в порядке обхода снизу.

18

Построить бинарное дерево поиска. Подсчитать среднее арифметическое значение узлов правого поддерева. Вывести значения узлов в порядке обхода сверху.

19

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

20

Построить бинарное дерево поиска. Подсчитать процент узлов, являющихся листьями. Вывести значения узлов в порядке обхода сверху.

21

Построить бинарное дерево поиска. Определить высоту правого поддерева. Вывести значения узлов в порядке обхода слева.

22

Построить бинарное дерево поиска. Удалить все узлы, имеющие значения ключей больше 50. Вывести значения узлов в порядке обхода слева.

23

Построить бинарное дерево поиска. Подсчитать количество узлов ветвления имеющих двух потомков. Вывести значения узлов в порядке обхода сверху.

24

Построить бинарное дерево поиска. Подсчитать среднее арифметическое значение узлов левого поддерева. Вывести значения узлов в порядке обхода снизу.

25

Построить бинарное дерево поиска. Определить высоту левого поддерева. Вывести значения узлов в порядке обхода сверху.

Содержание отчета

  1. Номер и тема лабораторной работы.

  2. Вариант задания.

  3. Текст программы.

  4. Итоги работы программы.

Контрольные вопросы

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

  2. Операции над бинарными деревьями.

  3. Схемы обхода.

  4. Прошивки деревьев.

  5. Представление бинарного дерева в памяти ЭВМ.