Sciweavers

ALGORITHMICA
2010

Confluently Persistent Tries for Efficient Version Control

13 years 11 months ago
Confluently Persistent Tries for Efficient Version Control
We consider a data-structural problem motivated by version control of a hierarchical directory structure in a system like Subversion. The model is that directories and files can be moved and copied between two arbitrary versions in addition to being added or removed in an arbitrary version. Equivalently, we wish to maintain a confluently persistent trie (where internal nodes represent directories, leaves represent files, and edge labels represent path names), subject to copying a subtree between two arbitrary versions, adding a new child to an existing node, and deleting an existing subtree in an arbitrary version. Our first data structure represents an n-node degree- trie with O(1) "fingers" in each version while supporting finger movement (navigation) and modifications near the fingers (including subtree copy) in O(lg ) time and space per operation. This data structure is essentially a locality-sensitive version of the standard practice--path copying--costing O(d lg ) time...
Erik D. Demaine, Stefan Langerman, Eric Price
Added 08 Dec 2010
Updated 08 Dec 2010
Type Journal
Year 2010
Where ALGORITHMICA
Authors Erik D. Demaine, Stefan Langerman, Eric Price
Comments (0)