Изменения

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

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

58 байт добавлено, 14:45, 6 апреля 2015
Нет описания правки
==Получение полностью персистентных структур данных==
Для полностью персистентных структур данных применить описанный выше метод преобразования не получится, так как история создания версий не линейна и нельзя отсортировать изменения по версиям, как в частично персистентных структурах данных.
Пусть мы храним историю изменения версий в виде дерева. Сделаем [[Обход в глубину, цвета вершин| обход этого дерева в глубину]]. В порядке этого обхода запишем, когда мы входим, а когда выходим из каждой версии. Эта последовательность действий полностью задает дерево, сделаем из нее список. Когда добавляется новая версия нашей структуры данных, мы вставляем два элемента в середину списка.
[[Файл:Полная персистентность.png‎]]
Анонимный участник

Навигация