Деревья являются одним из самых пугающих вещей в разработке. Еще хуже дело обстоит, когда программист встречает задачу, связанную с деревьями, во время собеседования. В этой статье я постараюсь минимизировать боль, связанную с этой темой. Деревья бывают разные. Мы рассмотрим двоичное сбалансированное. В данной статье мы рассмотрим наиболее популярные — двоичные сбалансированные (красно-черные) деревья. Пример бинарного дерева. У каждого листка может быть не более двух наследников. Основные понятия. Рассматривая бинарные деревья нужно знать следующие понятия: Несбалансированные деревья могут выродиться в связный список. Несбалансированные деревья — это деревья, у которых высота левой и правой веток может значительно отличаться. В худшем случае все узлы могут располагаться по одной стороне. В этом случае дерево деградирует до связного списка. деградированное дерево вырожденное в связанный список. Сбалансированные деревья. Сбалансированные (например красно-черные) при каждом добавлении н