Каков принцип работы дерева поиска

Python Senior Без компании
Каков принцип работы дерева поиска
Ответы
Дерево поиска — это структура данных, где каждый узел имеет не более двух потомков (левый и правый), причем для любого узла: - Все элементы левого поддерева меньше значения текущего узла. - Все элементы правого поддерева больше значения текущего узла. **Основные операции:** - **Поиск**: начинаем с корня, сравниваем искомое значение с текущим узлом, двигаемся влево/вправо. - **Вставка**: аналогично поиску, но добавляем новый узел в нужное место. - **Удаление**: сложнее, зависит от количества потомков удаляемого узла. ``` class Node: def __init__(self, key): self.left = None self.right = None self.val = key def insert(root, key): if root is None: return Node(key) else: if root.val < key: root.right = insert(root.right, key) else: root.left = insert(root.left, key) return root ``` **Сложность операций**: в среднем O(log n), но может деградировать до O(n) при несбалансированном дереве.