Изменения

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

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

29 байт добавлено, 16:07, 19 апреля 2018
Псевдокод
'''Node''' deleteMax(Node h)
if (isRed(h.left)) //вращаем все 3-вершины вправо
h = rotateRight(h);
if (h.right == null) //поддерживаем инвариант (h должен быть красным) if (h.right == null)
return null;
//заимствуем у брата если необходимо if (!isRed(h.right) && !isRed(h.right.left)) //заимствуем у брата если необходимо
h = moveRedRight(h);
// опускаемся на один уровень глубже h.left = deleteMax(h.left); // опускаемся на один уровень глубже return fixUp(h); //исправление правых красных ссылок и 4-вершин на пути вверх return fixUp(h);
288
правок

Навигация