

35. Добавление элемента в 2 – 3 дерево.
Алгоритм вставки:
1 Нужно найти лист, на котором прекращается поиск этого элемента 2 Вставить элемент в этот узел. Если после вставки лист содержит 3 элемента – выполнить разделение:
Разделение внутреннего узла:
Разделение корня:
Алгоритм
Алгоритм Insert(R, New_elem):
1.Присвоить Key<-Ключ New_elem
2.Найти лист, куда можно расположить новый элемент
3.Добавить New_Elem в left_Node.
4.if (left_Node - 3й элемент) then split(left_Node)
Алгоритм Split(n):
1.if (n - корень) then
2.создать узел Р.
3.Р - родитель n;
4.endif
5.Заменить узел n двумя узлами n1 и n2
6.Записать в n1 наименьший из n
7.В n2 - max(n)
8.if (n - не лист) then
9. ... (переопределить ссылки на дочерние узлы?)
10.endif
11.if (p - 3й элемент) then Split(p)
Эффективность – О(log(n))