Изменения

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

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

36 байт добавлено, 14:54, 18 июня 2018
Вставка
[[File:insertNode.png|310px|thumb|upright|Вставка нового узла]]
'''if ''' (h == '''null''')
return new Node(key, value, RED)
Если левый предок и правый предок красные, запускаем вращение цветов от текущего узла.
[[File:Split4node.png|310px|thumb|upright|Расщепление узла]]
'''if ''' (isRed(h.left) '''&& ''' isRed(h.right))
colorFlip(h)
[[File:Enforce.png|310px|thumb|upright|Принудительное вращение]]
Если правый предок красный, вращаем текущую вершину влево.
'''if ''' (isRed(h.right))
h = rotateLeft(h)
[[File:Balance4node.png|310px|thumb|Балансировка]]
Если левый предок красный и левый предок левого предка красный, то вращаем текущую вершину вправо.
'''if ''' (isRed(h.left) && isRed(h.left.left))
h = rotateRight(h)
Анонимный участник

Навигация