Задания

1. Описать процедуру или функцию, которая:

a) присваивает параметру Е запись из самого левого листа непустого дерева Т (лист-вершина, из которого не выходит ни одной ветви);

b) определяет число вхождений записи Е в дерево Т.

2. Вершины дерева вещественные числа. Описать процедуру или функцию, которая:

a) вычисляет среднее арифметическое всех вершин дерева;

b) добавляет в дерево вершину со значением, вычисленным в предыдущей процедуре (функции).

3. Записи вершин дерева - вещественные числа. Описать процедуру, которая выбирает все вершины с отрицательными записями и строит из них новое дерево.

4. Записи вершин дерева - вещественные числа. Описать процедуру или функцию, которая:

a) находит максимальное или минимальное значение записей вершин непустого дерева;

b) печатает записи из всех листьев дерева.

5. Описать процедуру или функцию, которая:

a) определяет, входит ли вершина с записью Е в дерево Т;

b) если такая запись не найдена, то она добавляется.

6. Описать процедуру или функцию, которая:

a) находит в непустом дереве Т длину (число ветвей) пути от корня до ближайшей вершины с записью Е; если Е не входит в Т, то за ответ принять - 1.

b) определяет максимальную глубину непустого дерева Т, т.е. число ветвей в самом длинном из путей от корня дерева до листьев.

7. Описать процедуру СОРY(Т,Т1), которая строит Т1 - копию дерева Т.

8. Описать процедуру ЕQUAL(T1,T2), проверяющую на равенство деревья Т1 и Т2 (деревья равны, если ключи и записи вершин одного дерева равны соответственно ключам и записям  другого дерева).

9. Описать процедуру, которая:

a) присваивает переменной b типа char значение:

К - если вершина - корень,

П - если вершина - промежуточная вершина,

Л - если вершина - лист;

b) распечатывает атрибуты всех вершин дерева.

10. Описать процедуру, которая:

a) находит максимальное или минимальное значение записей листьев  непустого дерева;

b) добавляет элемент с данной записью в дерево.

11. Описать процедуру или функцию, которая:

а) вставляет узел с записью Е в дерево, если ранее такой не было;

b) считает и выдает на экран сумму значений всех ключей, если такая запись есть.

12. Описать процедуру или функцию, которая:

а) печатает запись, встречающуюся в дереве один раз;

b) печатает запись, встречающееся в дереве максимальное число раз.