Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Двоичные деревья поиска






1. Написать рекурсивную числовую функцию, подсчитывающую сумму элементов дерева.

2. Написать функцию, которая находит наибольший элемент дерева.

3. Написать функцию, которая находит наименьший элемент дерева.

4. Напишите процедуру, которая удаляет из дерева все четные элементы.

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

6. Написать рекурсивную процедуру, которая печатает элементы из всех листьев дерева.

7. Написать рекурсивную функцию, которая определяет глубину заданного элемента на дереве и возвращает –1, если такого элемента нет.

8. Написать процедуру, которая печатает (по одному разу) все вершины дерева.

9. Написать процедуру, которая по заданному n считает число всех вершин глубины n в заданном дереве.

10. Написать процедуру, которая определяет глубину дерева.

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

12. Задана последовательность слов. Определить частоту вхождения каждого из слов в последовательность. Указание. Для решения задачи любое слово ищется в дереве, которое на начальном этапе пусто. Если слово найдено, то счетчик его вхождений увеличивается на единицу, если нет, то слово включается в дерево с единичным значением счетчика.

13. Составить программу, которая печатает все элементы дерева по уровням: сначала — из корня дерева, затем (слева направо) — из вершин, дочерних по отношению к корню, затем (также слева направо) — из вершин, дочерних по отношению к этим вершинам, и т.д.

14. Составить программу, которая находит в непустом дереве длину (число ветвей) пути от корня до ближайшей вершины с элементом Е; если Е не входит в дерево, за ответ принять –1.

15. Составить программу, которая подсчитывает число вершин на n -ом уровне непустого дерева (корень считать вершиной нулевого уровня).

16. Составить программу, которая заменяет в дереве все отрицательные элементы на их абсолютные величины.

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

а) определяет, входит ли элемент Е в дерево;

б) определяет число вхождений элемента Е в дерево;

в) вычисляет сумму элементов непустого дерева;

г) находит величину наибольшего элемента непустого дерева;

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

е) по текстовому файлу, содержащему числовые элементы (среди которых могут быть и одинаковые), строит дерево поиска;

ж) добавляет в дерево поиска новый элемент Е, если его не было в дереве.

18. Вершина двоичного дерева содержит массив целых и два указателя — на правое и левое поддеревья. Массив целых в каждом элементе упорядочен, дерево в целом также упорядочено. Функция включает в дерево целую переменную с сохранением упорядоченности. (На рисунке приведён пример такого дерева.)

 
 


19. Сформировать двоичное дерево по следующему принципу: указать элемент и количество его вхождений в дерево, т.е. если элемент включается в дерево повторно, просто счетчик его вхождений увеличивается на 1.

20. Составить программу, которая удаляет из дерева L всеэлементы E, если такие есть.

21. Составить программу, которая удаляет из дерева L все отрицательные элементы.

22. Составить программу, которая проверяет, есть ли в дереве L хотя бы два одинаковых элемента.

23. Составить программу, которая в дереве L из каждой группы подряд идущих одинаковых элементов оставляет только один.

24. Составить программу, которая формирует дерево L, включив в него по одному разу элементы, которые входят одновременно в оба дерева L 1 и L 2.

25. Составить программу, которая формирует дерево L, включив в него по одному разу элементы, которые входят в дерево L 1, но не входят в дерево L 2.

26. Составить программу, которая формирует дерево L, включив в него по одному разу элементы, которые входят в один из деревьев L 1 и L 2, но в то же время не входит в другое из них.

27. Определить количество различных элементов дерева.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал