Изменения

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

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

77 байт убрано, 02:31, 8 декабря 2017
Методы
<code>
'''Node''' insert( h : '''Node''', key : '''Key''', value : '''Value'''):
'''if''' h == null '''return''' '''new''' Node(key, value) '''if''' isRed(h.left) '''&&''' isRed(h.right) colorFlip(h) '''int''' cmp = key.compareTo(h.key) '''if''' cmp == 0 h.val = value '''else''' '''if''' cmp < 0 h.left = insert(h.left, key, value) '''else''' h.right = insert(h.right, key, value) '''if''' isRed(h.right) '''&&''' !isRed(h.left) h = rotateLeft(h) '''if''' isRed(h.left) '''&&''' isRed(h.left.left) h = rotateRight(h)
'''return''' ''h''
</code>
'''Value''' search(key : '''Key'''):
'''Node''' x = root
'''while (''' x != null) '''int''' cmp = key.compareTo(x.key) '''if''' cmp == 0 '''return''' x.val '''else''' '''if''' cmp < 0 x = x.left '''else''' '''if''' cmp > 0 x = x.right '''return''' null
</code>
288
правок

Навигация