Results 1 -
2 of
2
The limits of buffering: A tight lower bound for dynamic membership in the external memory model
- In Proc. ACM Symposium on Theory of Computing
, 2010
"... We study the dynamic membership (or dynamic dictionary) problem, which is one of the most fundamental problems in data structures. We study the problem in the external memory model with cell size b bits and cache size m bits. We prove that if the amortized cost of updates is at most 0.999 (or any ot ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
We study the dynamic membership (or dynamic dictionary) problem, which is one of the most fundamental problems in data structures. We study the problem in the external memory model with cell size b bits and cache size m bits. We prove that if the amortized cost of updates is at most 0.999 (or any other constant < 1), then the query cost must be Ω(logb log n (n/m)), where n is the number of elements in the dictionary. In contrast, when the update time is allowed to be 1 + o(1), then a bit vector or hash table give query time O(1). Thus, this is a threshold phenomenon for data structures. This lower bound answers a folklore conjecture of the external memory community. Since almost any data structure task can solve membership, our lower bound implies a dichotomy between two alternatives: (i) make the amortized update time at least 1 (so the data structure does not buffer, and we lose one of the main potential advantages of the cache), or (ii) make the query time at least roughly logarithmic in n. Our result holds even when the updates and queries are chosen uniformly at random and there are no deletions; it holds for randomized data structures, holds when the universe size is O(n), and does not make any restrictive assumptions such as indivisibility. All of the lower bounds we prove hold regardless of the space consumption of the data structure, while the upper bounds only need linear space. The lower bound has some striking implications for external memory data structures. It shows that the query complexities of many problems such as 1D-range counting, predecessor, rank-select, and many others, are all the same
Using Hashing to Solve the Dictionary Problem (In External Memory)
, 2011
"... We consider the dictionary problem in external memory and improve the update time of the wellknown buffer tree by roughly a logarithmic factor. For any λ ≥ max{lg lg n, log M/B(n/B)}, we can support updates in time O ( λ B) and queries in time O(log λ n). We also present a lower bound in the cell-pr ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We consider the dictionary problem in external memory and improve the update time of the wellknown buffer tree by roughly a logarithmic factor. For any λ ≥ max{lg lg n, log M/B(n/B)}, we can support updates in time O ( λ B) and queries in time O(log λ n). We also present a lower bound in the cell-probe model showing that our data structure is optimal. In the RAM, hash tables have been use to solve the dictionary problem faster than binary search for more than half a century. By contrast, our data structure is the first to beat the comparison barrier in external memory. Ours is also the first data structure to depart convincingly from the indivisibility paradigm. 1

