In this paper we design a new static data structure for batched predecessor queries. In particular, our data structure supports O(√log n) queries in O(1) time per query and requires O(nε√log n) space for any ε > 0. This is the first o(N) space and O(1) amortized time data structure for arbitrary N = Ω(nε√log n) where N is the size of the universe. We also present a data structure that answers O(log log N) predecessor queries in O(1) time per query and requires O(n ε log log N) space for any ε > 0. The method of solution relies on a certain way of searching for predecessors of all elements of the query in parallel. In a general case, our approach leads to a data structure that supports p(n) queries in O(√log n/p(n)) time per query and requires O(np(n)) space for any p(n) = O(√log n), and a data structure that supports p(N) queries in O(log log N/p(N)) time per query and requires O(np(N)) space for any p(N) = O(log log N). © Springer-Verlag Berlin Heidelberg 2005.
CITATION STYLE
Karpinski, M., & Nekrich, Y. (2005). Predecessor queries in constant time? In Lecture Notes in Computer Science (Vol. 3669, pp. 238–248). Springer Verlag. https://doi.org/10.1007/11561071_23
Mendeley helps you to discover research relevant for your work.