# Static Dictionaries Supporting Rank

## Abstract

A static dictionary is a data structure for storing a subset *S* of a finite universe *U* so that membership queries can be answered efficiently. We explore space efficient structures to also find the rank of an element if found. We first give a representation of a static dictionary that takes *n* lg *m* + *O*(lg lg *m*) bits of space and supports membership and rank (of an element present in *S*) queries in constant time, where *n* = |S| and *m* = |U|. Using our structure we also give a representation of a *m*-ary cardinal tree with *n* nodes using *n*⌈lg*m*⌉ + 2*n* + *o*(*n*) bits of space that supports the tree navigational operations in *O*(1) time, when *m* is *o*(2^{lg n/ lg lg n }). For arbitrary *m*, we give a structure that takes the same space and supports all the navigational operations, except finding the child labeled *i* (for any *i*), in *O*(1) time. Finding the child labeled *i* in this structure takes *O*(lg lg lg *m*) time.

## Keywords

Constant Time Hash Function Membership Query Auxiliary Structure Select Operation## Preview

Unable to display preview. Download preview PDF.

## References

- 1.M. Ajtai, “A lower bound for finding predecessors in Yao’s cell probe model”,
*Combinatorica*8 (1988) 235–247.Google Scholar - 2.D. Benoit, “Compact Tree Representations”, Master’s Thesis, Department of Computer Science, University of Waterloo, Canada (1998).Google Scholar
- 3.D. Benoit, E. D. Demaine, J. I. Munro and V. Raman “Representing Trees of Higher Degree”,
*The Proceedings of the 6th International Workshop on Algorithms and Data Structures*, Springer Verlag Lecture Notes in Computer Science 1663 (1999) 169–180.CrossRefGoogle Scholar - 4.A. Brodnik and J. I. Munro, “Membership in constant time and almost minimum space”, to appear in
*SIAM Journal on Computing*.Google Scholar - 5.D. R. Clark, “Compact Pat Trees”, Ph.D. Thesis, University of Waterloo, 1996.Google Scholar
- 6.D. R. Clark and J. I. Munro, “Efficient Suffix Trees on Secondary Storage”,
*Proceedings of the 7th ACM-SIAM Symposium on Discrete Algorithms*(1996) 383–391.Google Scholar - 7.A. Fiat, M. Noar, J. P. Schmidt and A. Siegel, “Non-oblivious hashing”,
*Journal of the Association for Computing Machinery*, 39(4) (1992) 764–782.Google Scholar - 8.M. L. Fredman, J. Komlós and E. Szemerédi, “Storing a sparse table with
*O*(1) access time”,*Journal of the Association for Computing Machinery*, 31 (1984) 538–544.Google Scholar - 9.G. Jacobson, “Space-efficient Static Trees and Graphs”,
*Proceedings of the IEEE Symposium on Foundations of Computer Science*(1989) 549–554.Google Scholar - 10.J. I. Munro, “Tables”,
*Proceedings of the 16th FST & TCS conference*, Springer Verlag Lecture Notes in Computer Science 1180 (1996) 37–42.Google Scholar - 11.J. I. Munro and V. Raman, “Succinct representation of balanced parentheses, static trees and planar graphs”,
*Proceedings of the IEEE Symposium on Foundations of Computer Science*(1997) 118–126.Google Scholar - 12.Rasmus Pagh, “Low redundancy in dictionaries with O(1) worst case lookup time”, to appear in
*Proceedings of the International Colloquium on Automata, Languages and Programming*(1999).Google Scholar - 13.J. P. Schmidt and A. Siegel, “The spatial complexity of oblivious k-probe hash functions”,
*SIAM Journal on Computing*19(5) (1990) 775–786.Google Scholar - 14.D. E. Willard, “Log-Logarithmic worst case range queries are possible in space _(n)”,
*Information Processing Letters*17 (1983) 81–89.Google Scholar