skip to main content
article

Dynamic ordered sets with exponential search trees

Published:01 June 2007Publication History
Skip Abstract Section

Abstract

We introduce exponential search trees as a novel technique for converting static polynomial space search structures for ordered sets into fully-dynamic linear space data structures.

This leads to an optimal bound of O(√log n/log log n) for searching and updating a dynamic set X of n integer keys in linear space. Searching X for an integer y means finding the maximum key in X which is smaller than or equal to y. This problem is equivalent to the standard text book problem of maintaining an ordered set.

The best previous deterministic linear space bound was O(log n/log log n) due to Fredman and Willard from STOC 1990. No better deterministic search bound was known using polynomial space.

We also get the following worst-case linear space trade-offs between the number n, the word length W, and the maximal key U < 2W: O(min log log n + log n/logW, log log n ⋅ log log U/log log log U). These trade-offs are, however, not likely to be optimal.

Our results are generalized to finger searching and string searching, providing optimal results for both in terms of n.

References

  1. Andersson, A. 1995. Sublogarithmic searching without multiplications. In Proceedings of the 36th Symposium on Foundations of Computer Science. IEEE Computer Society Press, Los Alamitos, CA, 655--663. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Andersson, A. 1996. Faster deterministic sorting and searching in linear space. In Proceedings of the 37th Symposium on Foundations of Computer Science. IEEE Computer Society Press, Los Alamitos, CA, 135--141. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Andersson, A., Miltersen, P., Riis, S., and Thorup, M. 1996. Static dictionaries on AC0 RAMs: Query time &Theta;(&sqrt;log n/log log n) is necessary and sufficient. In Proceedings of the 37th Symposium on Foundations of Computer Science. IEEE Computer Society Press, Los Alamitos, CA, 441--450. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Andersson, A., Miltersen, P., and Thorup, M. 1999. Fusion trees can be implemented with AC0 instructions only. Theoret. Comput. Sci. 215, 1-2, 337--344. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Andersson, A., and Thorup, M. 2000. Tight(er) worst-case bounds on dynamic searching and priority queues. In Proceedings of the 32nd Symposium on Theory of Computing. ACM, New York, 335--342. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Andersson, A., and Thorup, M. 2001. Dynamic string searching. In Proceedings of the 12th Annual ACM-SIAM Symposium on Discrete Algorithms. ACM, New York, 307--308. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Beame, P., and Fich, F. 2002. Optimal bounds for the predecessor problem and related problems. J. Comput. System Sci. 65, 1, 38--72. (Announced at STOC'99.) Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Bender, M., Cole, R., and Raman, R. 2002. Exponential structures for cache-oblivious algorithms. In Proceedings of the 29th Annual International Colloquium on Automata, Languages, and Programming. Lecture Notes in Computer Science. Springer-Verlag, New York, 195--207. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Brodal, G. S., Legogiannis, G., Makris, C., Tsakalidis, A., and Tsichlas, K. 2003. Optimal finger search trees in the pointer machine. J. Comput. System Sci. 67, 2, 381--418. (Announced at STOC'02.) Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Brodnik, A., Miltersen, P. B., and Munro., I. 1997. Trans-dichotomous algorithms without multiplication---some upper and lower bounds. In Proceedings of the 5th WADS. Lecture Notes in Computer Science, vol. 1272. Springer-Verlag, New York, 426--439. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Chen, S. and Reif, J. H. 1993. Using difficulty of prediction to decrease computation: Fast sort, priority queue and convex hull on entropy bounded inputs. In Proceedings of the 34th Symposium on Foundations of Computer Science. IEEE Computer Society Press, Los Alamitos, CA, 104--112.Google ScholarGoogle Scholar
  12. Comrie, L. J. 1929--30. The hollerith and powers tabulating machines. Trans. Office Mach. Users' Assoc., Ltd, 25--37.Google ScholarGoogle Scholar
  13. Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. 2001. Introduction to Algorithms, 2nd ed. MIT Press, ISBN 0-262-03293-7, 0-07-013151-1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Dietz, P. and Raman, R. 1994. A constant update time finger search tree. Inf. Proc. Lett. 52, 147--154. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Dumey, A. I. 1956. Indexing for rapid random access memory systems. Comput. Automat. 5, 12, 6--9.Google ScholarGoogle Scholar
  16. Ford, L. R., and Johnson, S. M. 1959. A tournament problem. Amer. Math. Monthly 66, 5, 387--389.Google ScholarGoogle ScholarCross RefCross Ref
  17. Fredman, M., and Saks, M. 1989. The cell probe complexity of dynamic data structures. In Proceedings of the 21st Symposium on Theory of Computing. ACM, New York, 345--354. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Fredman, M. L., Komlós, J., and Szemerédi, E. 1984. Storing a sparse table with O(1) worst case access time. J. ACM 31, 3, 538--544. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Fredman, M. L., and Willard, D. E. 1993. Surpassing the information theoretic bound with fusion trees. J. Comput. Syst. Sci. 47, 424--436. (Announced at STOC'90.) Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Fredman, M. L., and Willard, D. E. 1994. Trans-dichotomous algorithms for minimum spanning trees and shortest paths. J. Comput. Syst. Sci. 48, 533--551. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Han, Y. 2001. Improved fast integer sorting in linear space. Inf. Comput. 170, 8, 81--94. (Announced at STACS'00 and SODA'01.) Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Han, Y. 2004. Deterministic sorting in O(n log log n) time and linear space. J. Alg. 50, 1, 96--105. (Announced at STOC'02.) Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Kernighan, B., and Ritchie, D. 1988. The C Programming Language (2nd Ed.). Prentice-Hall, Englewood Cliffs, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Knuth, D. E. 1973. The Art of Computer Programming, Volume 3: Sorting and Searching. Addison-Wesley, Reading, MA. ISBN 0-201-03803-X. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Mehlhorn, K. 1984. Data Structures and Algorithms 1: Sorting and Searching. Springer-Verlag, New York, ISBN 3-540-13302-X.Google ScholarGoogle Scholar
  26. Mehlhorn, K., and Nähler, S. 1990. Bounded ordered dictionaries in O(log log n) time and O(n) space. Inf. Proc. Lett. 35, 4, 183--189. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Overmars, M. H., and Levcopoulos, C. 1988. A balanced search tree with O(1) worst-case update time. Acta Inf. 26, 269--277. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Pǎtraşcu, M. 2006. Planar point location in sublogarithmic time. In Proceedings of the 47th Symposium on Foundations of Computer Science. IEEE Computer Society Press, Los Alamitos, CA, 325--332. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Pǎtraşcu, M., and Thorup, M. 2006. Time-space trade-offs for predecessor search. In Proceedings of the 38th Symposium on Theory of Computing. ACM, New York, 232--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Raman, R. 1996. Priority queues: small, monotone and trans-dichotomous. In Proceedings of the 4th ESA. Lecture Notes in Computer Science, vol. 1136. Springer-Verlag, New York, 121--137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Thorup, M. 1998. Faster deterministic sorting and priority queues in linear space. In Proceedings of the 9th Annual ACM-SIAM Symposium on Discrete Algorithms. ACM, New York, 550--555. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Thorup, M. 2002. Equivalence between priority queues and sorting. In Proceedings of the 43rd Symposium on Foundations of Computer Science. IEEE Computer Society Press, Los Alamitos, CA, 125--134. Journal version to appear in J. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Thorup, M. 2003. Space efficient dynamic stabbing with fast queries. In Proceedings of the 35th Symposium on Theory of Computing. ACM, New York, 649--658. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. van Emde Boas, P. 1977. Preserving order in a forest in less than logarithmic time and linear space. Inf. Process. Lett. 6, 3, 80--82.Google ScholarGoogle ScholarCross RefCross Ref
  35. van Emde Boas, P., Kaas, R., and Zijlstra, E. 1977. Design and implementation of an efficient priority queue. Math. Syst. Theory 10, 99--127.Google ScholarGoogle ScholarCross RefCross Ref
  36. Willard, D. E. 1983. Log-logarithmic worst-case range queries are possible in space &thetas;(n). Inf. Process. Lett. 17, 81--84.Google ScholarGoogle ScholarCross RefCross Ref
  37. Willard, D. E. 2000. Examining computational geometry, van Emde Boas trees, and hashing from the perspective of the fusion tree. SIAM J. Comput. 29, 3, 1030--1049. (Announced at SODA'92.) Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Willard, D. E. and Lueker, G. S. 1985. Adding range restriction capability to dynamic data structures. J. ACM 32, 3, 597--617. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Dynamic ordered sets with exponential search trees

            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

            • Published in

              cover image Journal of the ACM
              Journal of the ACM  Volume 54, Issue 3
              June 2007
              204 pages
              ISSN:0004-5411
              EISSN:1557-735X
              DOI:10.1145/1236457
              Issue’s Table of Contents

              Copyright © 2007 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 June 2007
              Published in jacm Volume 54, Issue 3

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader