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| +2n + o(n) bits of space that supports the tree navigational operations in 0(1) time, when m is o(2lgn/ 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 0(1) time. Finding the child labeled i in this structure takes O(lg lg lg m) time.
CITATION STYLE
Raman, V., & Rao, S. S. (1999). Static dictionaries supporting rank. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1741, pp. 18–26). Springer Verlag. https://doi.org/10.1007/3-540-46632-0_3
Mendeley helps you to discover research relevant for your work.