Fully persistent arrays
This paper has outlined an algorithm for fully persistent arrays in which Access operations take O(log log n) time and Store operations take O(log log n) amortized expected time. The algorithm uses linear space.
Because any data structure can be implemented with an array, we can use the techniques described in this paper to make any data structure fully persistent at a cost of an extra factor of log log n per operation and using space proportional to the number of memory modifications. Of course, a data structure that is efficient only in the amortized sense may perform poorly if made fully persistent, because expensive operations may be replicated on many branches of the version tree.
Unable to display preview. Download preview PDF.
- Paul F. Dietz. Maintaining order in a linked list. In Proc. 14th ACM STOC, pages 122–127, May 1982.Google Scholar
- Paul F. Dietz and Daniel D. Sleator. Two algorithms for maintaining order in a list. In Proc. 19th ACM STOC, pages 365–372, May 1987. Submitted to JCSS. A revised version of the paper is available that tightens up the analysis.Google Scholar
- M. Dietzfelbinger, A. Karlin, K. Melhorn, F. Meyer auf der Heide, H. Rohnert, and R. E. Tarjan. Dynamic perfect hashing: Upper and lower bounds. In Proc. 29th FOCS, pages 524–531, 1988. The application to persistent arrays was presented but does not appear in the proceedings.Google Scholar
- James R. Driscoll, Neil Sarnak, Daniel D. Sleator, and Robert E. Tarjan. Making data structures persistent. In Proc. 18th ACM STOC, pages 109–121, May 1986.Google Scholar
- Carlo Montangero, Giuliano Pacini, Maria Simi, and Franco Turini. Information management in context trees. Acta. Info., 10:85–94, 1978.Google Scholar
- Mark Overmars. A O(1) average time update scheme for balanced binary search trees. Bull. EATCS, pages 27–29, 1982.Google Scholar
- A. K. Tsakalidis. Maintaining order in a generalized linked list. Acta. Info., 21(1):101–112, 1984.Google Scholar
- P. van Emde Boas. Preserving order in a forest in less than logarithmic time and linear space. Info. Proc. Lett., 6(3):80–82, June 1977.Google Scholar
- P. van Emde Boas, R. Kaas, and E. Zijlstra. Design and implementation of an efficient priority queue. Math. Sys. Theo., 10:99–127, 1977.Google Scholar
- Ben Wegbreit. Retrieval from context trees. Info. Proc. Lett., 3(4):119–120, March 1975.Google Scholar
- Ben Wegbreit. Faster retrieval from context trees. Communications of the ACM, 19(9):526–529, September 1976.Google Scholar