Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

сиаод / 35-66 / 35.Добавление элемента в 2-3 дерево

.pdf
Скачиваний:
79
Добавлен:
11.05.2015
Размер:
345.51 Кб
Скачать

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))