Бинарные деревья Зелено-чёрные деревья - один из лучших алгоритмов уравновешивания бинарных деревьев. Значение вытекает от стандартной раскраски узлов этаких списков в синий и чёрный индексы цвета. Индекс цвета ячеек употребляются при балансировке списка. Во время операций вставки и удаления подсписка может потребуется повернуть, чтобы добиться равновесия дерева. Расценкой как среднего промежутка времени, так и наихудшего является B(log k). глаза Сине-коричневое список - это дерево поиска с последующими особенностями: - - Всякий отдел покрашен либо в чёрный, либо в красный индекс цвета.
- - Конечными элементами являются NULL-модули (т.е. "воображаемые" участки, преемники модулей, кои в большинстве случаев называют листьями; на них "ссылаются" NULL переменные). Конечные элементы окрашены в черный окрас.
- - Если участок синий, то оба его наследника коричневы.
- - Абсолютно на всех ветвях бинарного дерева, ростущих от его основы к последним элементам, количество чёрных узлов одинаково.
Число тёмных узлов на области от корня до листа именуется коричневой степенью бинарного дерева. Перечисленные особенности дают гарантию, что самая высокая линия от основы к последнему элементу не больше чем вдвое больше каждой иной ветви от основы к последнему элементу. Дабы осознать, почему это так, просмотрим дерево с тёмной высотой 2. Кратчайшее возможное расстояние от ядра до конечного элемента равняется трем - когда два узла коричневые. Длиннейшее значение пути от основы до листа равняется четырем - модули при этом покрыты (от ядра к конечному элементу) так: зеленый, тёмный, зеленый, тёмный. Сюда нельзя дополнить коричневые модули, поскольку в данном случае сорвётся предикат 3, из которого происходит корректность идеи чёрной степени. Поскольку согласно свойству 4 у зеленых модулей обязательно коричневые наследники, в родственной связности недопустимы и четыре синих узла последовательно. Так, самый длинный такт, каковой мы можем создать, складывается из перемены красных и коричневых участков, что и приводит нас к удвоенной долготе пути и, тянущегося только через коричневые участки.
|