Бинарное дерево поиска

Задание: Реализовать бинарное дерево поиска с операциями вставки, удаления и поиска

Пример входных данных:

f(x) = e^x - 3x = 0
Начальное приближение: x0 = 1.0
Точность: 0.0001

Пример выходных данных:

Корень уравнения: x = 1.5121
Количество итераций: 5
f(1.5121) = 0.00008

Вариант 1: Вставка элемента в дерево

Вариант 2: Удаление элемента из дерева

Вариант 3: Поиск элемента в дереве

Вариант 4: Нахождение минимального элемента

Вариант 5: Нахождение максимального элемента

Вариант 6: Обход дерева в прямом порядке (pre-order)

Вариант 7: Обход дерева в симметричном порядке (in-order)

Вариант 8: Обход дерева в обратном порядке (post-order)

Вариант 9: Обход дерева по уровням (level-order)

Вариант 10: Определение высоты дерева

Вариант 11: Определение количества узлов

Вариант 12: Определение количества листьев

Вариант 13: Проверка сбалансированности дерева

Вариант 14: Балансировка дерева

Вариант 15: Удаление дубликатов из дерева

Вариант 16: Поиск k-го наименьшего элемента

Вариант 17: Поиск предшественника элемента

Вариант 18: Поиск преемника элемента

Вариант 19: Объединение двух деревьев

Вариант 20: Копирование дерева