Задание. (номер варианта задания соответствует вашему номеру в журнале)
(номер варианта задания соответствует вашему номеру в журнале) 1. Написать рекурсивную числовую функцию, подсчитывающую сумму элементов дерева. 2. Написать функцию, которая находит наибольший элемент дерева. 3. Написать функцию, которая находит наименьший элемент дерева. 4. Напишите процедуру, которая удаляет из дерева все четные элементы. 5. Написать рекурсивную процедуру, которая определяет число вхождений заданного элемента в дерево. 6. Написать рекурсивную процедуру, которая печатает элементы из всех листьев дерева. 7. Написать процедуру, которая выводит на экран дерево, показывая глубину узлов отступом от левого края экрана. Например, дерево 1 группа 1 курс 2 группа ФМИ 3 группа 2 курс 4 группа 8. Написать рекурсивную функцию, которая определяет глубину заданного элемента на дереве и возвращает –1, если такого элемента нет. 9. Написать процедуру, которая печатает (по одному разу) все вершины дерева. 10. Написать процедуру, которая по заданному n считает число всех вершин глубины n в заданном дереве. 11. Написать процедуру, которая считает глубину дерева. 12. Отсортировать массив А путем включения его элементов в дерево и скопировать отсортированные данные обратно в А. 13. Задана последовательность слов. Определить частоту вхождения каждого из слов в последовательность. Указание. Для решения задачи любое слово ищется в дереве, которое на начальном этапе пусто. Если слово найдено, то счетчик его вхождений увеличивается на единицу, если нет, то слово включается в дерево с единичным значением счетчика. 14. Написать программу представления бинарного дерева с помощью динамических структур (запрограммировать стандартные операции: добавление, удаление элемента, просмотр дерева). Запрограммировать специальную функцию, которая определяет значение листа двоичного дерева, имеющего минимальную глубину 15. Организовать хранение сбалансированного дерева в памяти ЭВМ, а также реализовать основные операции над сбалансированным деревом: поиск/добавление/удаление. 16. Напишите программу, содержащую процедуру или функцию, которая подсчитывает число вершин на каждом уровне непустого дерева (корень считать вершиной 0-го уровня). В программе используйте подпрограммы. 17. Напишите программу, содержащую процедуру или функцию, которая определяет максимальную глубину непустого дерева Т, т.е. число ветвей в самом длинном из путей от корня дерева до листьев. 18. Постройте два дерева. Проверьте, является ли одно из них поддеревом другого. Если " нет", то включите это поддерево. В программе используйте подпрограммы. 19.Написать программу формирования дерева. Удалите из дерева все повторяющиеся элементы. В программе используйте подпрограммы. 20. Объедините два дерева в одно идеально сбалансированное. В программе используйте подпрограммы.
|