Изменения

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

Левосторонние красно-чёрные деревья

Нет изменений в размере, 22:56, 13 марта 2018
Нет описания правки
Основные операции, используемые алгоритмами сбалансированного дерева для поддержания баланса при вставке и удалении, называются вращениями. Эти операции трансформируют <tex>3</tex>-узел,левый потомок которого окрашен в красный, в <tex>3</tex>-узел, правый потомок которого окрашен в красный и наоборот. Вращения сохраняют два указанных выше инварианта, не изменяют поддеревья узла.
===Реализация==
[[File:rotateRight.png|320px310px|thumb|upright|Rotate Right]]
'''Node''' rotateRight( h : '''Node''') :
h.color = RED
'''return''' x
[[File:rotateLeft.png|320px310px|thumb|upright|Rotate Left]]
'''Node''' rotateLeft( h : '''Node''') :
==Переворот цветов==
В красно-черных деревьях используется такая операция как <tex>color flip</tex>, которая инвертирует цвет узла и двух его детей. Она не изменяет количество черных узлов при любом обходе от корня до листьев дерева, но может привести к появлению двух последовательных красных узлов.
[[File: ColorFlip.png|400px350px|thumb|upright| Color Flip]]
'''void''' flipColors( h : '''Node''' h) :
288
правок

Навигация