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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Andersson, A., Miltersen, P., Riis, S., and Thorup, M. 1996. Static dictionaries on AC0 RAMs: Query time Θ(&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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Comrie, L. J. 1929--30. The hollerith and powers tabulating machines. Trans. Office Mach. Users' Assoc., Ltd, 25--37.Google Scholar
- 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 ScholarDigital Library
- Dietz, P. and Raman, R. 1994. A constant update time finger search tree. Inf. Proc. Lett. 52, 147--154. Google ScholarDigital Library
- Dumey, A. I. 1956. Indexing for rapid random access memory systems. Comput. Automat. 5, 12, 6--9.Google Scholar
- Ford, L. R., and Johnson, S. M. 1959. A tournament problem. Amer. Math. Monthly 66, 5, 387--389.Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Han, Y. 2001. Improved fast integer sorting in linear space. Inf. Comput. 170, 8, 81--94. (Announced at STACS'00 and SODA'01.) Google ScholarDigital Library
- 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 ScholarDigital Library
- Kernighan, B., and Ritchie, D. 1988. The C Programming Language (2nd Ed.). Prentice-Hall, Englewood Cliffs, NJ. Google ScholarDigital Library
- Knuth, D. E. 1973. The Art of Computer Programming, Volume 3: Sorting and Searching. Addison-Wesley, Reading, MA. ISBN 0-201-03803-X. Google ScholarDigital Library
- Mehlhorn, K. 1984. Data Structures and Algorithms 1: Sorting and Searching. Springer-Verlag, New York, ISBN 3-540-13302-X.Google Scholar
- 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 ScholarDigital Library
- Overmars, M. H., and Levcopoulos, C. 1988. A balanced search tree with O(1) worst-case update time. Acta Inf. 26, 269--277. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- Willard, D. E. 1983. Log-logarithmic worst-case range queries are possible in space &thetas;(n). Inf. Process. Lett. 17, 81--84.Google ScholarCross Ref
- 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 ScholarDigital Library
- Willard, D. E. and Lueker, G. S. 1985. Adding range restriction capability to dynamic data structures. J. ACM 32, 3, 597--617. Google ScholarDigital Library
Index Terms
- Dynamic ordered sets with exponential search trees
Recommendations
An optimal insertion algorithm for one-sided height-balanced binary search trees
An algorithm for inserting an element into a one-sided height-balanced (OSHB) binary search tree is presented. The algorithm operates in time O(log n), where n is the number of nodes in the tree. This represents an improvement over the best previously ...
Dynamic Integer Sets with Optimal Rank, Select, and Predecessor Search
FOCS '14: Proceedings of the 2014 IEEE 55th Annual Symposium on Foundations of Computer ScienceWe present a data structure representing a dynamic set S of w-bit integers on a w-bit word RAM. With |S| = n and w ≥ log n and space O(n), we support the following standard operations in O(log n/log w) time: insert(x) sets S = S + {x}. delete(x) sets S =...
Cache-Oblivious B-Trees
This paper presents two dynamic search trees attaining near-optimal performance on any hierarchical memory. The data structures are independent of the parameters of the memory hierarchy, e.g., the number of memory levels, the block-transfer size at each ...
Comments