New trie data structures which support very fast search operations
Journal of Computer and System Sciences
Hash functions for priority queues
Information and Control
Trans-dichotomous algorithms for minimum spanning trees and shortest paths
Journal of Computer and System Sciences - Special issue: 31st IEEE conference on foundations of computer science, Oct. 22–24, 1990
STOC '95 Proceedings of the twenty-seventh annual ACM symposium on Theory of computing
Journal of the ACM (JACM)
Tight(er) worst-case bounds on dynamic searching and priority queues
STOC '00 Proceedings of the thirty-second annual ACM symposium on Theory of computing
Worst case constant time priority queue
SODA '01 Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms
Optimal static range reporting in one dimension
STOC '01 Proceedings of the thirty-third annual ACM symposium on Theory of computing
Deterministic sorting in O(nlog log n) time and linear space
STOC '02 Proceedings of the thiry-fourth annual ACM symposium on Theory of computing
Optimal bounds for the predecessor problem and related problems
Journal of Computer and System Sciences - STOC 1999
Sorting and Searching on the Word RAM
STACS '98 Proceedings of the 15th Annual Symposium on Theoretical Aspects of Computer Science
Sublogarithmic searching without multiplications
FOCS '95 Proceedings of the 36th Annual Symposium on Foundations of Computer Science
Faster deterministic sorting and searching in linear space
FOCS '96 Proceedings of the 37th Annual Symposium on Foundations of Computer Science
Hi-index | 0.00 |
In this paper we design a new static data structure for batched predecessor queries. In particular, our data structure supports $O(\sqrt{{\rm log}n})$ queries in O(1) time per query and requires $O(n^{\epsilon\sqrt{{\rm log}n}})$ space for any ε 0. This is the first o(N) space and O(1) amortized time data structure for arbitrary $N = \Omega(n^{\epsilon\sqrt{{\rm 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^{\epsilon{\rm log log} {\it 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(\sqrt{{\rm log} n}/p(n))$ time per query and requires O(n$^{p({\it n})}$) space for any $p(n) =O(\sqrt{{\rm log}n})$, and a data structure that supports p(N) queries in O(log log N/p(N)) time per query and requires O(n$^{p({\it N})}$) space for any p(N)=O(log log N).