Добавил:
ФКН Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Семестр 2 / Алгоритмизация Лаба 6 язык С

.pdf
Скачиваний:
84
Добавлен:
07.05.2020
Размер:
228.31 Кб
Скачать

Алгоритмизация и программирование – Семестр 2

Лабораторнаяработа№6 Структура дерево

Оценивание и сроки сдачи:

До 08.05 – 4 балла;

По 22.05 – 2 балла; позже лабораторная работа не оценивается!

Задания:

1. Общее задание (3 балла).

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

Требования:

Организовать работу с деревом в формате меню со следующими функционалами:

1.Добавить узел

Добавить новое значение, введенное пользователем. В случае, если такое значение уже

существует - сообщить об этом пользователю и не добавлять.

2.Найти узел

Найти указанный по значению узел его родителя (если имеется), его потомков (если

имеются). Вывести всю информацию о нем. Формат вывода:

узел - 4 родитель - 8 левый потомок - 2

правый потомок - нет

3.Удалить узел

Удалить указанный по значению узел.

4.Печать дерева

Вывод всех узлов дерева разными видами обходов: прямым, обратным, симметричным и

вширину.

Формат вывода:

прямой обход -

6,

3,

2,

5,

4,

10,

8

обратный обход -

2,

4,

5,

3,

8,

10,

6

симметричный обход - 2, 3, 4, 5, 6, 8, 10

обход в ширину -

6, 3, 10, 2, 5, 4, 8

5. Выход

2. Индивидуальное задание (1 балл).

Для дерева из первого задания выполнить свой вариант индивидуального задания. Номер варианта заданий согласно № в списке журнала. Если номер в журнале больше 12, тогда вариант задания равен = (№ - 12).

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

1.Найти величину наибольшего элемента дерева.

2.Найти величину наименьшего элемента дерева.

3.Посчитать число листьев дерева.

4.Посчитать сумму элементов дерева.

Лабораторная работа №6

Страница1

Алгоритмизация и программирование – Семестр 2

5.Посчитать число вершин на i-ом уровне дерева (корень считать вершиной 0 уровня).

6.Посчитать число листьев в поддереве, корнем которого является заданная вершина исходного дерева.

7.Поменять местами максимальный и минимальный элементы дерева (после этого НЕ сортировать).

8.Вычислить среднее арифметическое всех элементов дерева.

9.Заменить в дереве все отрицательные элементы на их абсолютные величины.

10.Посчитать число вершин дерева.

11.Найти величину наименьшего элемента поддерева, корнем которого является заданная вершина исходного дерева.

12.Найти длину пути, т.е. количество рёбер, от корня дерева до указанного (по значению) узла.

Лабораторная работа №6

Страница2