Abstract
We generalize Cuckoo Hashing [16] to d-ary Cuckoo Hashing and show how this yields a simple hash table data structure that stores n elements in (1 + ∈) n memory cells, for any constant ∈ > 0. Assuming uniform hashing, accessing or deleting table entries takes at most d = O(ln 1/∈ ) probes and the expected amortized insertion time is constant. This is the first dictionary that has worst case constant access time and expected constant update time, works with (1+∈) n space, and supports satellite information. Experiments indicate that d = 4 choices suffice for ∈ ≈ 0.03. We also describe a hash table data structure using explicit constant time hash functions, using at most d = O(ln2 1/∈ ) probes in the worst case.
A corollary is an expected linear time algorithm for finding maximum cardinality matchings in a rather natural model of sparse random bipartite graphs.
This work was partially supported by DFG grant SA 933/1-1 and the Future and Emerging Technologies programme of the EU under contract number IST-1999- 14186 (ALCOM-FT).
The present work was initiated while this author was at BRICS, Aarhus University, Denmark.
Part of this work was done while the author was at MPII. 1 In this paper “whp.” will mean “with probability 1 - O(1/n)”.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
R. P. Brent. Reducing the retrieval time of scatter storage techniques. Communications of the ACM, 16(2):105–109, 1973.
A. Z. Broder and A. R. Karlin. Multilevel adaptive hashing. In Proc. 1st Annual ACM-SIAM Symposium on Discrete Algorithms, pages 43–53. ACM Press, 2000.
A. Brodnik and J. I. Munro. Membership in constant time and almost-minimum space. SIAM J. Comput., 28(5):1627–1640, 1999.
J. G. Cleary. Compact hash tables using bidirectional linear probing. IEEE Transactions on Computers, C-33(9):828–834, September 1984.
M. Dietzfelbinger, J. Gil, Y. Matias, and N. Pippenger. Polynomial hash functions are reliable (extended abstract). In Proc. 19th International Colloquium on Automata, Languages and Programming, volume 623 of LNCS, pages 235–246. Springer-Verlag, 1992.
M. Dietzfelbinger and T. Hagerup. Simple Minimal Perfect Hashing in Less Space In Proc. 9th European Symposium on Algorithms, volume 2161 of LNCS, pages 109–120. Springer-Verlag, 2001.
M. Dietzfelbinger, A. Karlin, K. Mehlhorn, F. Meyer auf der Heide, H. Rohnert, and R. E. Tarjan. Dynamic perfect hashing: Upper and lower bounds. SIAM J. Comput., 23(4):738–761, 1994.
M. L. Fredman, J. Komlós, and E. Szemerédi. Storing a sparse table with O(1) worst case access time. J. ACM, 31(3):538–544, 1984.
G. H. Gonnet and J. I. Munro. Efficient ordering of hash tables. SIAM J. Comput., 8(3):463–478, 1979.
J. E. Hopcroft and R. M. Karp. An O(n 5/2) algorithm for maximum matchings in bipartite graphs. SIAM J. Comput., 2:225–231, 1973.
J. A. T. Maddison. Fast lookup in hash tables with direct rehashing. The Computer Journal, 23(2):188–189, May 1980.
E. G. Mallach. Scatter storage techniques: A uniform viewpoint and a method for reducing retrieval times. The Computer Journal, 20(2):137–140, May 1977.
M. Matsumoto and T. Nishimura. Mersenne twister: A 623-dimensionally equidistributed uniform pseudo-random number generator. ACMTMCS: ACM Transactions on Modeling and Computer Simulation, 8:3–30, 1998.
R. Motwani. Average-case analysis of algorithms for matchings and related problems. J. ACM, 41(6):1329–1356, November 1994.
R. Pagh. Low redundancy in static dictionaries with constant query time. SIAM J. Comput., 31(2):353–363, 2001.
R. Pagh and F. F. Rodler. Cuckoo hashing. In Proc. 9th European Symposium on Algorithms, volume 2161 of LNCS, pages 121–133. Springer-Verlag, 2001.
R. Raman and S. Srinivasa Rao. Dynamic dictionaries and trees in near-minimum space. Manuscript, 2002.
R. L. Rivest. Optimal arrangement of keys in a hash table. J. ACM, 25(2):200–209, 1978.
P. Sanders. Asynchronous scheduling of redundant disk arrays. In 12th ACM Symposium on Parallel Algorithms and Architectures, pages 89–98, 2000.
P. Sanders. Reconciling simplicity and realism in parallel disk models. In 12th ACM-SIAM Symposium on Discrete Algorithms, pages 67–76, 2001.
P. Sanders, S. Egner, and J. Korst. Fast concurrent access to parallel disks. In 11th ACM-SIAM Symposium on Discrete Algorithms, pages 849–858, 2000.
A. Yao. Uniform hashing is optimal. J. ACM, 32(3):687–693, 1985.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fotakis, D., Pagh, R., Sanders, P., Spirakis, P. (2003). Space Efficient Hash Tables with Worst Case Constant Access Time. In: Alt, H., Habib, M. (eds) STACS 2003. STACS 2003. Lecture Notes in Computer Science, vol 2607. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36494-3_25
Download citation
DOI: https://doi.org/10.1007/3-540-36494-3_25
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00623-7
Online ISBN: 978-3-540-36494-8
eBook Packages: Springer Book Archive