Изменения

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

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

901 байт добавлено, 01:07, 8 декабря 2017
Нет описания правки
|definition = Left-leaning Red-Black Trees .
}}
==Вращения==
 
* <tex> \mathrm{push}(i, x)</tex> {{---}} добавляет элемент <tex>x</tex> в стек узла <tex>i</tex>,
'''Stack''' push(i : '''Node''', x : '''T'''):
k.value = x
k.prev = i
s.top = k
'''return''' s
 
* <tex>\mathrm{pop}(i)</tex> {{---}} возвращает значение, хранящееся в узле <tex>i</tex> и копирует элемент, предыдущий для него.
'''pair<T, Stack>''' pop(i : '''Node'''):
'''T''' val = i.value
i = i.prev
'''return''' pair(val, s)
 
 
<code>
'''Node '''rotateRight(h : '''Node '''):
x = h.left
h.left= x.right
x.right= h
x.color = h.color
h.color = RED
'''return ''' x
</code>
 
<code>
'''Node''' rotateLeft(h : '''Node'''):
x = h.right
h.right = x.left
x.left = h
x.color = h.color
h.color = RED
'''return''' x
</code>
288
правок

Навигация