skip to main content
article

Retroactive data structures

Published:01 May 2007Publication History
Skip Abstract Section

Abstract

We introduce a new data structuring paradigm in which operations can be performed on a data structure not only in the present, but also in the past. In this new paradigm, called retroactive data structures, the historical sequence of operations performed on the data structure is not fixed. The data structure allows arbitrary insertion and deletion of operations at arbitrary times, subject only to consistency requirements. We initiate the study of retroactive data structures by formally defining the model and its variants. We prove that, unlike persistence, efficient retroactivity is not always achievable. Thus, we present efficient retroactive data structures for queues, doubly ended queues, priority queues, union-find, and decomposable search structures.

References

  1. Bentley, J. 1977. Algorithms for Klee's rectangle problems. unpublished manuscript, Department of Computer Science, Carnegie-Mellon University.Google ScholarGoogle Scholar
  2. Bentley, J. L., and Saxe, J. B. 1980. Decomposable searching problems I: Static-to-Dynamic transformations. J. Alg. 1, 301--358.Google ScholarGoogle ScholarCross RefCross Ref
  3. Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. 2001. Introduction to Algorithms, 2nd ed. MIT Press, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Driscoll, J. R., Sarnak, N., Sleator, D. D., and Tarjan, R. E. 1989. Making data structures persistent. J. Comput. Syst. Sci. 38, 1, 86--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Fiat, A. and Kaplan, H. 2001. Making data structures confluently persistent. In Proceedings of the 12th Annual Symposium on Discrete Algorithms (Washington, DC) 537--546. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Fleischer, R. 1996. A simple balanced search tree with O(1) worst-case update time. Int. J. Found. Comput. Sci. 7, 2, 137--149.Google ScholarGoogle ScholarCross RefCross Ref
  7. Frandsena, G. S., Hansenb, J. P., and Miltersen, P. B. 2001. Lower bounds for dynamic algebraic problems. Inf. Comput. 171, 2 (Dec.), 333--349. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Goodrich, M. and Tamassia, R. 1991. Dynamic trees and dynamic point location. In Proceedings of the 23rd Annual ACM Symposium on Theory Computing. 523--533. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Mannila, H. and Ukkonen, E. 1986. The set union problem with backtracking. In Proceedings of the 13th International Conference on Automata, Languages and Programming (ICALP). Lecture Notes in Computer Science, vol. 226. Springer Verlag, Berlin. 236--243. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Orwell, G. 1949. 1984. Signet Classic.Google ScholarGoogle Scholar
  11. Pătrascu, M. and Demaine, E. D. 2004. Tight bounds for the partial-sums problem. In Proceedings of the 15th Annual ACM-SIAM Symposium on Discrete Algorithms. (New Orleans, LA). 20--29. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Ramakrishnan, R. and Gehrke, J. 2002. Database Management Systems. McGraw-Hill, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Raman, R., Raman, V., and Rao, S. S. 2001. Succinct dynamic data structures. In Proceedings of the 7th Workshop on Algorithms and Data Structures. Lecture Notes in Computer Science, vol. 2125. Springer Verlag, Berlin. 426--437.Google ScholarGoogle Scholar
  14. Sarnak, N. and Tarjan, R. E. 1986. Planar point location using persistent search trees. Commun. ACM 29, 7 (Jul.), 669--679. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Sleator, D. D. and Tarjan, R. E. 1983. A data structure for dynamic trees. J. Comput. Syst. Sci. 26, 3, 362--381. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Snoeyink, J. 1997. Point location. In Handbook of Discrete and Computational Geometry, J. E. Goodman and J. O'Rourke, eds. CRC Press, Boca Raton, FL. 559--574. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Strassen, V. 1990. Algebraic complexity theory. In Algorithms and Complexity, J. van Leeuwen, ed. Handbook of Theoretical Computer Science, vol. A. MIT Press, Cambridge, MA. 633--672. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Tarjan, R. E. 1975. Efficiency of a good but not linear set union algorithm. J. ACM 22, 215--225. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Tarjan, R. E. 1979. A class of algorithms which require nonlinear time to maintain disjoint sets. J. Comput. Syst. Sci. 18, 110--127.Google ScholarGoogle ScholarCross RefCross Ref
  20. Westbrook, J. and Tarjan, R. E. 1989. Amortized analysis of algorithms for set union with backtracking. SIAM J. Comput. 18, 1--11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Yao, A. C. 1981. Should tables be sorted? J. ACM 28, 3, 615--628. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Retroactive data structures

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader