## Low Redundancy in Dictionaries with O(1) Worst Case Lookup Time (1998)

Venue: | IN PROC. 26TH INTERNATIONAL COLLOQUIUM ON AUTOMATA, LANGUAGES AND PROGRAMMING (ICALP |

Citations: | 18 - 0 self |

### BibTeX

@INPROCEEDINGS{Pagh98lowredundancy,

author = {Rasmus Pagh},

title = {Low Redundancy in Dictionaries with O(1) Worst Case Lookup Time},

booktitle = {IN PROC. 26TH INTERNATIONAL COLLOQUIUM ON AUTOMATA, LANGUAGES AND PROGRAMMING (ICALP},

year = {1998},

pages = {595--604},

publisher = {}

}

### OpenURL

### Abstract

A static dictionary is a data structure for storing subsets of a finite universe U , so that membership queries can be answered efficiently. We study this problem in a unit cost RAM model with word size ze jU j), and show that for n-element subsets, constant worst case query time can be obtained using B +O(log log jU j) + o(n) bits of storage, where B = dlog jU j e is the minimum number of bits needed to represent all such subsets. The solution for dense subsets uses B + O( jU j log log jU j log jU j ) bits of storage, and supports constant time rank queries. In a dynamic setting, allowing insertions and deletions, our techniques give an O(B) bit space usage.

### Citations

138 | Should tables be sorted
- Yao
- 1981
(Show Context)
Citation Context ...paper [2], they achieve B+O( B log log log m ) bits, and raise the question whether a more powerful model of computation is needed to further tighten the gap to the information theoretic minimum. Yao =-=[11]-=- showed that in a restricted model, where words in the data structure must contain elements of S, the number of words necessary for o(log n) time lookup cannot be bounded by a function of n. Fich and ... |

69 | Membership in constant time and almost minimum space
- Brodnik, Munro
- 1999
(Show Context)
Citation Context ... case. A rened solution in their paper uses B + O(n log n + log log m) bits. Brodnik and Munro [3] construct a static dictionary using O(B) bits for any m and n. In the journal version of this paper [=-=2]-=-, they achieve B+O( B log log log m ) bits, and raise the question whether a more powerful model of computation is needed to further tighten the gap to the information theoretic minimum. Yao [11] show... |

57 |
Recognizing primes in random polynomial time
- Adleman, Huang
- 1988
(Show Context)
Citation Context ...mly choosing numbers from the interval given in Claim 11. Each such number chosen is checked for primality (using a probabilistic check which uses expected time poly-logarithmic in the number checked =-=[1]-=-, that is, time (log n+log log m) O(1) ). When a prime is found, it is checked that the map u 7! u mod p is 1-1 on S (time O(n) using Radix-sort on the function values). The following sharpening of th... |

44 |
The spatial complexity of oblivious k-probe hash functions
- Schmidt, Siegel
- 1990
(Show Context)
Citation Context ...0 2 3 4 5 6 1 2 10 11 12 13 14 15 16 22 23 24 17 18 19 20 21 9 8 7 4 5 6 7 10 16 22 1 2 1 2 3 1 1 "18" "15" "30" 0 1 5 0 1 1 4 "4" "5" "2" k=-= Figure 2: FKS scheme with quotienting 2 Schmidt and Siegel [9] show-=- how to simulate the FKS hashing scheme in a \minimal" version (i.e. the hash table has size n), using O(n + log log m) bits of storage for the hash function (still with constant lookup time). On... |

40 |
On the differences between consecutive primes
- Heath-Brown, Iwaniec
- 1979
(Show Context)
Citation Context ...istence of a suitable prime between n 2 ln m and 3n 2 ln m is guaranteed by the prime number theorem (in fact, at least half of the primes in the interval will work). See [6, Lemma 2] for details. By [7] the number of primes between m and m+m issm = log m) for any > 11=20. Take = 12=21 and let p be such a prime; naturally the map is then 1-1. 2 For an estimate of log r in terms of m, n and a,... |

23 |
Mehlhorn, Friedhelm Meyer Auf Der
- Dietzfelbinger, Karlin, et al.
(Show Context)
Citation Context ...at the query and update routines are \memoryless", i.e. know nothing about the set stored when they are started. It has been known for some time how to implement dynamic dictionaries using O(n) w=-=ords [4-=-]. This is O(n log m) bits, and since B = n log m n + (n), this is O(B + n log n) bits. That is, the result in [4] yields: Theorem 15 There exists a dynamic dictionary requiring O(B+n log n) bits, whi... |

22 |
Endre Szemeredi, “Storing a sparse table with 0(1) worst case access time
- Fredman, Komlos
- 1984
(Show Context)
Citation Context ...d which obtain a space complexity of O(n) words, that is O(n log m) bits, for restricted cases (e.g. \dense" or very sparse sets). It was not until the early 80's that Fredman, Komlos and Szemere=-=di [6-=-] found a hashing scheme using O(n) words in the general case. A rened solution in their paper uses B + O(n log n + log log m) bits. Brodnik and Munro [3] construct a static dictionary using O(B) bits... |

20 | Membership in constant time and minimum space
- Brodnik, Munro
- 1994
(Show Context)
Citation Context ...t is, at least B = dlog m n e bits (log is base 2 throughout this paper). Using Stirling's approximation to the factorial function, one can get B = n log m n + (m n) log m m n O(log n(m n) m ), see [=-=3-=-]. For n = o(m) the dominant term is n log m n , since (m n) log m m n = (n). Previous work The (static) dictionary is a very fundamental data structure, and it has been heavily studied. We will focus... |

18 |
Endre Tarjan and Andrew Chi-Chih Yao. Storing a sparse table
- Robert
- 1979
(Show Context)
Citation Context ...ed representation of the block itself. Extraction of rank information from this compressed form is done by table lookup. The ranks are stored using a 2-level structure (also used by Tarjan and Yao in =-=[10]): The \A-=-" level holds the rank of thesrst element in each cluster, and the \B" level holds the oset in rank for each block within the clusters, see Figure 1. Pointers to the compressed blocks are st... |

16 | Tables should be sorted (on random access machines
- Fich, Miltersen
- 1995
(Show Context)
Citation Context ...at in a restricted model, where words in the data structure must contain elements of S, the number of words necessary for o(log n) time lookup cannot be bounded by a function of n. Fich and Miltersen =-=[-=-5] showed that on a RAM with standard unit cost arithmetic operations but without division and bit operations, o(log n) time lookup requires m=n ) words of memory for any > 0. In [8] a RAM with bit ... |

8 | bounds for static dictionaries on RAMs with bit operations but no multiplication
- Miltersen, Lower
- 1996
(Show Context)
Citation Context ...h and Miltersen [5] showed that on a RAM with standard unit cost arithmetic operations but without division and bit operations, o(log n) time lookup requires m=n ) words of memory for any > 0. In [8] a RAM with bit operations but without multiplication is considered, and a lower bound of m , for some > 0, is shown when n = m o(1) . No lower bound better than the trivial B bits seems to be kno... |