Для того, чтобы ввести участок, мы сначала ищем в бинарном дереве разряд, куда его следует вместить. Последний модуль постоянно приращивается как элемент с указателем NULL, поэтому два его наследника становятся NULL-узлами и планируются коричневыми. За вкраплением окрашиваем узел в зеленый цвет. После этого рассматриваем праотца и проверяем, не срывается ли сине-коричневое родство. Ежели необходимо, мы меняем окрас участка и продуцируем поворачивание, чтобы уравновесить дерево.
houseofribaldry.com/metal2/page25.htmВведя зеленый узел с парой 0-потомками, мы сохраняем предикат чёрной высоты (качество 2). Но, при сим может случиться сорванным свойство 3, соответственно которому два потомка синего узла заведомо темны. В этом случае оба правнука свежего узла коричневы по атрибуту (ввиду того, что они есть NIL-участками), так что обговорим положение, если прадед свежего участка зеленый: при этом будет нарушено свойство 3. Каждая корректировка, производимая при вставке участка, заставляет нас подняться в дереве на один шаг. В данном случае до паузы алгоритма будет сделано 1 вращение (3, в случае если участок являлся большим потомком).
http://mirkresel.com/detectors/node3.htm