Изменения

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

2-3 дерево

2 байта убрано, 00:33, 11 мая 2015
Нахождение m следующих элементов
Изменим <tex>\mathtt{insert}</tex> следующим образом: в самом конце, после того как мы уже обновили все ключи, найдем <tex>\mathtt{next(t)}</tex> и запишем ссылку на него в <tex>\mathtt{t.right}</tex>. Аналогично с левым.
Пусть <tex>t</tex> {{---}} удаляемый узел. Изменим <tex>\mathtt{insertdelete}</tex> следующим образом: в самом начале, до удаления <tex>t</tex>, найдем следующий (<tex>\mathtt{next}</tex>) и запишем в (<tex>\mathtt{next.left}</tex>) правый лист относительно <tex>t</tex>. С левым поступим аналогично.
В итоге, мы имеем двусвязный список в листьях, и чтобы нам вывести <tex>m</tex> элементов, нам достаточно один раз найти нужный элемент и пробежаться вправо на <tex>m</tex> элементов.
143
правки

Навигация