Изменения

Перейти к: навигация, поиск

Красно-черное дерево

1 байт добавлено, 19:39, 15 мая 2015
Оригинальные
Определим ослабленное красно-чёрное дерево как красно-чёрное дерево, корень которого может быть как чёрным, так и красным. Останется ли оно после этого красно-черным? При добавлении вершины около корня могут возникнуть повороты, и корневая вершина перейдет в какое-то поддерево. Из-за этого может возникнуть ситуация, в которой подряд будут идти две красные вершины. То же самое может произойти из-за перекрашиваний возле корня. Если мы продолжим вставлять элементы подобным образом, свойства дерева перестанут выполняться, и оно перестанет быть сбалансированным. Таким образом, время выполнения некоторых операций ухудшится.
На примере можно видеть, что после добавления вершины <tex>F</tex> и соответствующих перекрашиваний вершина <tex>B</tex> становится красной с красным родителем. Дальше добавим вершину <tex>G</tex>. Так как мы добавляем ее к черной вершине, все свойства дерева сохраняются без перекрашиваний. Но добавим после этого вершину <tex>H</tex>. Тогда вершина <tex>D</tex> станет красной (<tex>F</tex> и <tex>G</tex> {{---}} черными) и у нас образуются три красные вершины подряд. Продолжая добавлять вершины таким образом , мы можем сделать сильно разбалансированное дерево.
===Альтернативные===
577
правок

Навигация