Встречается на собеседованиях • сегодня

Какая ситуация может произойти с бинарным деревом, которая не может произойти с красно-черным

Вырождение бинарного дерева в связный список. В обычном бинарном дереве поиска при последовательном добавлении элементов в отсортированном порядке (например, 1, 2, 3, 4, 5) дерево вырождается в линейную структуру с высотой O(n), что приводит к ухудшению производительности операций (O(n) вместо O(log n)).

Красно-черные деревья, благодаря своим свойствам и механизму балансировки, гарантируют, что высота дерева всегда будет логарифмической (O(log n)), даже при добавлении элементов в отсортированном порядке.

Пример вырождения бинарного дерева:

java
BinaryTree tree = new BinaryTree();
tree.insert(1);
tree.insert(2);
tree.insert(3);
tree.insert(4);
// Дерево превратится в "список": 1 -> 2 -> 3 -> 4

В красно-черном дереве такого не произойдет благодаря перекрашиванию узлов и поворотам.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы