Дерево — это иерархическая структура данных, состоящая из узлов, связанных отношениями «родитель-потомок». Каждое дерево имеет корневой узел (root), от которого происходят все остальные элементы. Деревья широко применяются в программировании для представления иерархий (например, файловая система), алгоритмах поиска, машинном обучении и синтаксическом анализе. В Python деревья можно реализовать с помощью классов, рекурсии и стандартных библиотек. - Корень (Root): Начальный узел дерева. - Узел (Node): Элемент дерева, который может содержать данные и ссылки на дочерние узлы. - Лист (Leaf): Узел без потомков. - Родитель (Parent) и Потомок (Child): Каждый узел (кроме корня) имеет одного родителя и может иметь несколько потомков. - Глубина (Depth): Расстояние от узла до корня. - Высота (Height): Максимальная глубина листьев дерева. 1. Бинарное дерево: Каждый узел имеет не более двух потомков. 2. Бинарное дерево поиска (BST): Упорядоченное бинарное дерево, где левые потомки меньше родителя, а