Изменения

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

Персистентные структуры данных

588 байт добавлено, 18:44, 8 апреля 2015
Метод копирование пути
===Метод копирование пути===
Пусть нам нужно есть [[АВЛ-дерево |сбалансированное дерево поиска]]. Все операции в нем делаются за <tex>O</tex> от высоты дерева, а высота дерева <tex>O</tex> от логарифма количества вершин.Пусть необходимо сделать какое-то обновление в этом сбалансированном дереве, например, добавить очередной элемент, но при этом мы нужно не хотим потерять старое дерево. Возьмем узел, в который мы хотим добавить нового ребенка. Вместо того чтобы добавлять нового ребенка, мы скопируем этот узел, к копии добавим нового ребенка, также скопируем все узлы вплоть до корня, из которых достижим первый скопированный нами узел вместе со всеми указателями. Все вершины, из которых наш измененный узел не достижим, мы не трогаем. Количество новых узлов всегда будет порядка логарифма. В результате получим возможность иметь доступ к обоим версиям дерева обновременно.
[[Файл:Копирование пути.png]]
142
правки

Навигация