Лабораторная работа №3: Построение бинарного дерева
Цель работы
Изучение принципов рекурсии и способов программного построения иерархических структур данных.
Задание
Реализовать генерацию бинарного дерева заданной высоты в виде вложенного словаря. Значения в узлах вычисляются по правилу: левая ветвь — root + root/2, правая ветвь — root^2.
Реализация
def bin_tree(root, current_height, height) -> dict:
if current_height == height:
return {str(root): []}
left_tree = bin_tree(root + root/2, current_height + 1, height)
right_tree = bin_tree(root**2, current_height + 1, height)
return {str(root): [left_tree, right_tree]}
Вывод
В ходе работы была разработана рекурсивная функция для построения бинарного дерева. Использование вложенных словарей позволило эффективно представить древовидную структуру в Python. Проведенное тестирование подтвердило, что функция корректно обрабатывает выход из рекурсии при достижении заданной глубины и правильно вычисляет значения для всех узлов.