Изменения

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

2-3 дерево

73 байта убрано, 23:59, 11 мая 2015
Удаление элемента
*<tex>np</tex> не существует, тогда мы удаляем одного из сыновей корня, следовательно, другой сын становится новым корнем,
*у <tex>gp</tex> оказалось <tex>2</tex> сына, у <tex>np</tex> оказалось <tex>2</tex> сына. Подвесим <tex>b</tex> к <tex>np</tex> и удалим <tex>p</tex>. Так как у <tex>gp</tex> {{---}} родителя <tex>p</tex>, оказалось тоже два сына,повторяем для <tex>p</tex> такие же рассуждения.
*у <tex>gp</tex> оказалось <tex>2</tex> сына, у <tex>np</tex> оказалось <tex>3</tex> сына. Подвесим <tex>b</tex> Просто заберем ближайшего к нам сына у <tex>np</tex> и удалим прицепим его к <tex>p</tex>, а у <tex>gp</tex> уменьшим количество детей. Так как у Восстановим порядок в сыновьях <tex>npp</tex> оказалось четыре сына, то необходимо его расщепить. Теперь у <tex>gpp</tex> оказалось снова два сына и все узлы 2-3 дерева корректны.
*у <tex>gp</tex> оказалось <tex>3</tex> сына, у <tex>np</tex> оказалось <tex>2</tex> сына. Подвесим <tex>b</tex> к <tex>np</tex> и удалим <tex>p</tex>, а у <tex>gp</tex> уменьшим количество детей. Так как у <tex>np</tex> оказалось три сына, а у <tex>gp</tex> все ещё больше одного сына, то все узлы 2-3 дерева корректны.
*у <tex>gp</tex> оказалось <tex>3</tex> сына, у <tex>np</tex> оказалось <tex>3</tex> сына. Подвесим <tex>b</tex> к <tex>np</tex> и удалим <tex>p</tex>, а у <tex>gp</tex> уменьшим количество детей. Так как у <tex>np</tex> оказалось четыре сына, то расщепим его, теперь у <tex>gp</tex> вновь три сына и все узлы 2-3 дерева корректны.
143
правки

Навигация