Advertisement

Simple confluently persistent catenable lists

Extended abstract
  • Haim Kaplan
  • Chris Okasaki
  • Robert E. Tarjan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1432)

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.

Keywords

Lazy Evaluation Amortize Time Amortize Cost Operation Push Flip Operation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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.CrossRefMathSciNetzbMATHGoogle Scholar
  2. 2.
    A. L. Buchsbaum and R. E. Tarjan. Confluently persistant deques via data structural bootstrapping. J. of Algorithms, 18:513–547, 1995.CrossRefMathSciNetzbMATHGoogle Scholar
  3. 3.
    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.Google Scholar
  4. 4.
    J. Driscoll, D. Sleator, and R. Tarjan. Fully persistent lists with catenation. Journal of the ACM, 41(5):943–959, 1994.CrossRefGoogle Scholar
  5. 5.
    J. R. Driscoll, N. Sarnak, D. Sleator, and R. Tarjan. Making data structures persistent. J. of Computer and System Science, 38:86–124, 1989.CrossRefMathSciNetzbMATHGoogle Scholar
  6. 6.
    Hania Gajewska and Robert E. Tarjan. Deques with heap order. Information Processing Letters, 12(4):197–200, 1986.CrossRefGoogle Scholar
  7. 7.
    H. Kaplan. Purely functional lists. PhD thesis, Department of Computer Science, Princeton University, Princeton, NJ 08544, 1997.Google Scholar
  8. 8.
    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.Google Scholar
  9. 9.
    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.Google Scholar
  10. 10.
    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.Google Scholar
  11. 11.
    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.Google Scholar
  12. 12.
    C. Okasaki. Simple and efficient purely functional queues and deques. J. Functional Progamming, 5(4):583–592, 1995.CrossRefGoogle Scholar
  13. 13.
    C. Okasaki. Purely functional data structures. PhD thesis, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213, 1996.Google Scholar
  14. 14.
    R. E. Tarjan. Amortized computational complexity. SIAM J. Algebraic Discrete Methods, 6(2):306–318, 1985.zbMATHMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Haim Kaplan
    • 1
  • Chris Okasaki
    • 2
  • Robert E. Tarjan
    • 3
    • 4
  1. 1.AT&T labsFlorham Park
  2. 2.School of Computer ScienceCarnegie Mellon UniversityPittsburgh
  3. 3.Department of Computer SciencePrinceton UniversityPrinceton
  4. 4.InterTrust Technologies CorporationSunnyvale

Personalised recommendations