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