Алгоритм вставки узлов

Дабы ввести узел, мы сперва выслеживаем в бинарном дереве разряд, куда его следует причислить. Новый узел неизменно присоединяется как последний элемент, оттого два его потомка становятся 0-узлами и предполагаются коричневыми. После вноски окрашиваем узел в красный цвет. Потом смотрим на предыдущий элемент и обследуем, не расстраивается ли красно-коричневое качество. В случае если необходимо, мы меняем окрас модуля и делаем поворачивание, чтобы уравновесить бинарное дерево.

Введя зеленый участок с двумя NIL-правнуками, мы сберегаем предикат коричневой ступени (свойство 2). Однако, при этом может явиться разрушенным признак 3, согласно которому оба сына зеленого участка обязательно черны. В данном виде два правнука нового участка черны по устройству (потому, что они являются NULL-узлами), так что обсудим положение, если предок созданного модуля зеленый: при сим будет разрушено свойство 5. Каждая корректировка, создаваемая при вставке участка, вынуждает нас подняться в бинарном дереве на один путь. В сим случае до отсрочки метода будет сделано 1 прокрут (4, ежели узел являлся большим правнуком).

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Комментарии закрыты.

Свежие записи