Succinct Dynamic Dictionaries and Trees

We consider space-efficient solutions to two dynamic data structuring problems. We first give a representation of a set S ⊆ U = {0,..., m-1}, |S| = n that supports membership queries in O(1) worst case time and insertions into/deletions from S in O(1) expected amortised time. The representation uses B+o(B) bits, where B = ⌈lg (m n)⌉ is the information-theoretic minimum space to represent S. This improves upon the O(B)-bit solutions of Brodnik and Munro [2] and Pagh [16], and uses up to a log-factor less space than search trees or hash tables. The representation can also associate satellite data with elements of S. We also show that a binary tree on n nodes, where each node has b = O(lg n)-bit data stored at it, can be maintained under node insertions while supporting navigation in O(1) time and updates in O((lg lg n)1+Ɛ) amortised time, for any constant Ɛ > 0. The space used is within o(n) bits of the information-theoretic minimum. This improves upon the equally space-efficient structure of Munro et al. [15], in which updates take O(lgc n) time, for some c ≥ 1.

[1]  Rajeev Raman,et al.  Succinct indexable dictionaries with applications to encoding k-ary trees and multisets , 2002, SODA '02.

[2]  Rasmus Pagh,et al.  Cuckoo Hashing , 2001, Encyclopedia of Algorithms.

[3]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[4]  Kurt Mehlhorn,et al.  Maintaining Discrete Probability Distributions Optimally , 1993, ICALP.

[5]  Gregory D. Hager,et al.  Sensor Based Intelligent Robots , 1999, Lecture Notes in Computer Science.

[6]  Torben Hagerup,et al.  Sorting and Searching on the Word RAM , 1998, STACS.

[7]  Paul G. Spirakis,et al.  Space Efficient Hash Tables with Worst Case Constant Access Time , 2003, Theory of Computing Systems.

[8]  C. SIAMJ. LOW REDUNDANCY IN STATIC DICTIONARIES WITH CONSTANT QUERY TIME , 2001 .

[9]  Venkatesh Raman,et al.  Representing dynamic binary trees succinctly , 2001, SODA '01.

[10]  Rajeev Raman,et al.  An Efficient Quasidictionary , 2002, SWAT.

[11]  Rajeev Raman,et al.  Succinct Dynamic Data Structures , 2001, WADS.

[12]  János Komlós,et al.  Storing a sparse table with O(1) worst case access time , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[13]  Venkatesh Raman,et al.  Succinct representation of balanced parentheses, static trees and planar graphs , 1997, Proceedings 38th Annual Symposium on Foundations of Computer Science.

[14]  Michael E. Saks,et al.  The cell probe complexity of dynamic data structures , 1989, STOC '89.

[15]  Roberto Grossi,et al.  Compressed suffix arrays and suffix trees with applications to text indexing and string matching (extended abstract) , 2000, STOC '00.

[16]  Clerry,et al.  Compact Hash Tables Using Bidirectional Linear Probing , 1984, IEEE Trans. Computers.

[17]  Peter B. Galvin,et al.  Operating System Concepts, 4th Ed. , 1993 .

[18]  Roberto Grossi,et al.  Compressed Suffix Arrays and Suffix Trees with Applications to Text Indexing and String Matching , 2005, SIAM J. Comput..

[19]  Friedhelm Meyer auf der Heide,et al.  Dynamic perfect hashing: upper and lower bounds , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[20]  Erik D. Demaine,et al.  Resizable Arrays in Optimal Time and Space , 1999, WADS.

[21]  J. Ian Munro,et al.  Membership in Constant Time and Almost-Minimum Space , 1999, SIAM J. Comput..

[22]  Guy Jacobson,et al.  Space-efficient static trees and graphs , 1989, 30th Annual Symposium on Foundations of Computer Science.