A new universal class of hash functions and dynamic hashing in real time
Proceedings of the seventeenth international colloquium on Automata, languages and programming
Surpassing the information theoretic bound with fusion trees
Journal of Computer and System Sciences - Special issue: papers from the 22nd ACM symposium on the theory of computing, May 14–16, 1990
Chernoff-Hoeffding Bounds for Applications with Limited Independence
SIAM Journal on Discrete Mathematics
On data structures and asymmetric communication complexity
Journal of Computer and System Sciences
The Complexity of Maintaining an Array and Computing Its Partial Sums
Journal of the ACM (JACM)
Optimal static range reporting in one dimension
STOC '01 Proceedings of the thirty-third annual ACM symposium on Theory of computing
Optimal bounds for the predecessor problem and related problems
Journal of Computer and System Sciences - STOC 1999
Universal Hashing and k-Wise Independent Random Variables via Integer Arithmetic without Primes
STACS '96 Proceedings of the 13th Annual Symposium on Theoretical Aspects of Computer Science
Sorting and Searching on the Word RAM
STACS '98 Proceedings of the 15th Annual Symposium on Theoretical Aspects of Computer Science
On Universal Classes of Extremely Random Constant-Time Hash Functions
SIAM Journal on Computing
The Bloomier filter: an efficient data structure for static support lookup tables
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
An optimal Bloom filter replacement
SODA '05 Proceedings of the sixteenth annual ACM-SIAM symposium on Discrete algorithms
On dynamic bit-probe complexity
Theoretical Computer Science
Orthogonal range searching in linear and almost-linear space
Computational Geometry: Theory and Applications
Dynamic indexability and lower bounds for dynamic one-dimensional range query indexes
Proceedings of the twenty-eighth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
A dynamic data structure for flexible molecular maintenance and informatics
2009 SIAM/ACM Joint Conference on Geometric and Physical Modeling
Data Structures for Approximate Orthogonal Range Counting
ISAAC '09 Proceedings of the 20th International Symposium on Algorithms and Computation
Stream-based randomised language models for SMT
EMNLP '09 Proceedings of the 2009 Conference on Empirical Methods in Natural Language Processing: Volume 2 - Volume 2
The limits of buffering: a tight lower bound for dynamic membership in the external memory model
Proceedings of the forty-second ACM symposium on Theory of computing
Counting inversions, offline orthogonal range counting, and related problems
SODA '10 Proceedings of the twenty-first annual ACM-SIAM symposium on Discrete Algorithms
CPM'11 Proceedings of the 22nd annual conference on Combinatorial pattern matching
On dynamic bit-probe complexity
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
Persistent predecessor search and orthogonal point location on the word RAM
Proceedings of the twenty-second annual ACM-SIAM symposium on Discrete Algorithms
De dictionariis dynamicis pauco spatio utentibus
LATIN'06 Proceedings of the 7th Latin American conference on Theoretical Informatics
External memory orthogonal range reporting with fast updates
ISAAC'11 Proceedings of the 22nd international conference on Algorithms and Computation
Dynamic Indexability and the Optimality of B-Trees
Journal of the ACM (JACM)
Orthogonal range searching in linear and almost-linear space
WADS'07 Proceedings of the 10th international conference on Algorithms and Data Structures
Persistent Predecessor Search and Orthogonal Point Location on the Word RAM
ACM Transactions on Algorithms (TALG) - Special Issue on SODA'11
Hi-index | 0.00 |
We consider the problem of maintaining a dynamic set of integers and answering queries of the form: report a point (equivalently, all points) in a given interval. Range searching is a natural and fundamental variant of integer search, and can be solved using predecessor search. However, for a RAM with w-bit words, we show how to perform updates in O(lg w) time and answer queries in O(lg lg w) time. The update time is identical to the van Emde Boas structure, but the query time is exponentially faster. Existing lower bounds show that achieving our query time for predecessor search requires doubly-exponentially slower updates. We present some arguments supporting the conjecture that our solution is optimal.Our solution is based on a new and interesting recursion idea which is "more extreme" that the van Emde Boas recursion. Whereas van Emde Boas uses a simple recursion (repeated halving) on each path in a trie, we use a nontrivial, van Emde Boas-like recursion on every such path. Despite this, our algorithm is quite clean when seen from the right angle. To achieve linear space for our data structure, we solve a problem which is of independent interest. We develop the first scheme for dynamic perfect hashing requiring sublinear space. This gives a dynamic Bloomier filter (a storage scheme for sparse vectors) which uses low space. We strengthen previous lower bounds to show that these results are optimal.