Изменения

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

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

78 байт добавлено, 22:26, 18 апреля 2015
Метод «толстых» узлов
===Метод «толстых» узлов===
Пусть в структуре данных есть узел, в котором нужно сделать изменения (например, на рисунке ниже в первой версии структуры данных в узле <tex>X</tex> есть поле <tex>a=3</tex>, а во второй версии это поле должно быть равно <tex>4</tex>), но при этом нужно сохранить доступ к старой версии узла <tex>X</tex> и не нужно экономить время. В таком случае можно хранить их оба обе версии узла <tex>X</tex> в большом комбинированном узле.
[[Файл:Метод толстых узлов.png|600px|центр]] ‎
В примере выше в этом «толстом» узле будет храниться первая версия <tex>V_1</tex>, у которой <tex>a=3</tex> и вторая версия <tex>V_2</tex>, у которой <tex>a=4</tex>. Если далее последуют еще какие-то изменения (например, поле <tex>b</tex> нашего узла <tex>X</tex> станет равно <tex>5</tex>) сделаем добавим в толстый узел <tex>X</tex> еще одну версию структуры данных — <tex>V_3</tex>.
[[Файл:Список версий1.png|500px|центр]]
Анонимный участник

Навигация