Реализовать класс BinaryTree
, который бы обеспечивал логарифмическую сложность поиска и добавления нового элемента.
Лабораторная работа состоит из двух файлов:
- BinaryTree.java — описание класса binary_tree, прототипы методов, реализация методов
- TestBinaryTree.java — тестирование и проверка возможностей класса
Необходимо создать вспомогательную шаблонную структуру, содержащую поле для хранения значения произвольного типа и 2 поля для хранения ссылок на левого и правого потомков.
Класс BinaryTree
должен быть шаблонным.
Класс BinaryTree
должен содержать следующие поля:
- ссылку на корневой элемент
- число элементов в дереве
Класс BinaryTree
должен содержать следующие методы:
- конструктор
- конструктор копирования
- добавление элемента
- поиск элемента
- удаление всех элементов
- необходимые интерфейсы (в зависимости от реализации)