403
правки
Изменения
→remove
== remove ==
Удаление из дерева T также делится на несколько подзадач:*Если T.<tex> min </tex> = T.<tex> max </tex> = <tex> x</tex>, значит в дереве один элемент, мы удалим его удалим и как-нибудь пометимотметим, что дерево пусто(на будущее).*Если <tex> x = T.min</tex>,то мы должны найти следующий второй минимум минимальный элемент в этом дереве, присвоить <tex>min</tex> значение второго минимального элемента и удалить его из того места , где он находится и поставить в Tхранится.min Второй минимум {{--- }} это либо T.<tex> max</tex>, либо T.<tex> children[T.aux.min].min.Аналогично </tex> (для случая <tex> x = T.max</tex> действуем аналогично)*Если же <tex> x = T.\neq min </tex> и <tex> x = T.\neq max</tex>, то мы должны удалить <tex>low(x )</tex> из поддерева i отвечающего <tex>children[high(x)]</tex>. Важно, что Delete реализован рекурсивно от дерева в котором идет удаления.Так же нельзя Нельзя забывать, что если мы удаляем последнее вхождение <tex>x</tex>, то мы должны удалить i <tex>high(x)</tex> из вспомогательного дерева.
<pre>
else
</pre>
== next и prev ==