Назад к вопросам
СБЕР Pay
Junior — Middle
61
Объясните структуру и основные свойства красно-чёрных деревьев
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Красно-чёрное дерево — это самобалансирующееся бинарное дерево поиска с дополнительными свойствами, которые обеспечивают балансировку и гарантируют операции за O(log n).
Основные свойства:
- Каждый узел окрашен в красный или чёрный цвет.
- Корень всегда чёрный.
- Все листья (NULL-узлы) считаются чёрными.
- Если узел красный, то оба его потомка чёрные (нет двух красных подряд).
- Для каждого узла все пути от него до листьев содержат одинаковое количество чёрных узлов (чёрная высота).
Эти правила обеспечивают, что дерево остаётся примерно сбалансированным, что позволяет эффективно выполнять операции вставки, удаления и поиска.
Пример использования в Java — класс TreeMap основан на красно-чёрных деревьях для хранения отсортированных ключей.