Abstract
We consider the problem of maintaining persistent lists subject to concatenation and to insertions and deletions at both ends. Updates to a persistent data structure are nondestructive-each operation produces a new list incorporating the change while keeping intact the list or lists to which it applies. Although general techniques exist for making data structures persistent, these techniques fail for structures that are subject to operations, such as catenation, that combine two or more versions. In this paper we develop a simple implementation of persistent double-ended queues with catenation that supports all deque operations in constant amortized time.
Supported by the Advanced Research Projects Agency CSTO under the title “The Fox Project: Advanced Languages for Systems Software”, ARPA Order No. C533, issued by ESC/ENS under Contract No. F19628-95-C-0050.
Research at Princeton University partially supported by NSF Grant No. CCR-9626862.
Preview
Unable to display preview. Download preview PDF.
References
A. L. Buchsbaum, R. Sundar, and R. E. Tarjan. Data structural bootstrapping, linear path compression, and catenable heap ordered double ended queues. SIAM J. Computing, 24(6):1190–1206, 1995.
A. L. Buchsbaum and R. E. Tarjan. Confluently persistant deques via data structural bootstrapping. J. of Algorithms, 18:513–547, 1995.
P. F. Dietz. Fully persistent arrays. In Proceedings of the 1989 Workshop on Algorithms and Data Structures (WADS'89), pages 67–74. Springer, 1995. LNCS 382.
J. Driscoll, D. Sleator, and R. Tarjan. Fully persistent lists with catenation. Journal of the ACM, 41(5):943–959, 1994.
J. R. Driscoll, N. Sarnak, D. Sleator, and R. Tarjan. Making data structures persistent. J. of Computer and System Science, 38:86–124, 1989.
Hania Gajewska and Robert E. Tarjan. Deques with heap order. Information Processing Letters, 12(4):197–200, 1986.
H. Kaplan. Purely functional lists. PhD thesis, Department of Computer Science, Princeton University, Princeton, NJ 08544, 1997.
H. Kaplan and R. E. Tarjan. Persistent lists with catenation via recursive slow-down. In Proceedings of the 27th Annual ACM Symposium on Theory of Computing (Preliminary Version), pages 93–102. ACM Press, 1995. Complete version submitted to Journal of the ACM.
H. Kaplan and R. E. Tarjan. Purely functional representations of catenable sorted lists. In Proceedings of the 28th Annual ACM Symposium on Theory of Computing, pages 202–211. ACM Press, 1996.
S. R. Kosaraju. An optimal RAM implementation of catenable min double-ended queues. In Proc. 5th ACM-SIAM Symposium on Discrete Algorithms, pages 195–203, 1994.
C. Okasaki. Amortization, lazy evaluation, and persistence: Lists with catenation via lazy linking. In Proc. 36th Symposium on Foundations of Computer Science, pages 646–654. IEEE, 1995.
C. Okasaki. Simple and efficient purely functional queues and deques. J. Functional Progamming, 5(4):583–592, 1995.
C. Okasaki. Purely functional data structures. PhD thesis, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213, 1996.
R. E. Tarjan. Amortized computational complexity. SIAM J. Algebraic Discrete Methods, 6(2):306–318, 1985.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kaplan, H., Okasaki, C., Tarjan, R.E. (1998). Simple confluently persistent catenable lists. In: Arnborg, S., Ivansson, L. (eds) Algorithm Theory — SWAT'98. SWAT 1998. Lecture Notes in Computer Science, vol 1432. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0054360
Download citation
DOI: https://doi.org/10.1007/BFb0054360
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64682-2
Online ISBN: 978-3-540-69106-8
eBook Packages: Springer Book Archive