Ответ
Бинарное дерево — это структура данных, где каждый узел имеет не более двух дочерних узлов (левый и правый). Корневой узел — вершина дерева, листья — узлы без потомков.
Ключевые свойства:
- Каждый узел содержит значение (ключ) и ссылки на левого/правого потомка.
- Упорядоченные бинарные деревья (например, бинарные деревья поиска) поддерживают порядок: левый потомок ≤ родитель ≤ правый потомок.
Пример на Python:
class Node:
def __init__(self, key):
self.left = None
self.right = None
self.val = key
# Создание дерева
root = Node(10)
root.left = Node(5)
root.right = Node(15)
Применение: поиск, сортировка, обходы (in-order, pre-order, post-order), алгоритмы сжатия (например, Huffman coding).