Encyclopedia of Algorithms

2016 Edition
| Editors: Ming-Yang Kao

Cuckoo Hashing

  • Rasmus PaghEmail author
Reference work entry
DOI: https://doi.org/10.1007/978-1-4939-2864-4_97

Years and Authors of Summarized Original Work

Problem Definition

A dictionary (also known as an associative array) is an abstract data structure capable of storing a set S of elements, referred to as keys, and information associated with each key. The operations supported by a dictionary are insertion of a key (and associated information), deletion of a key, and lookup of a key (retrieving the associated information). In case a lookup is made on a key that is not in S, this must be reported by the data structure.

The hash table is a class of data structures use to implement dictionaries in the RAM model of computation. Open addressing hash tables are a particularly simple type of hash table, where the data structure is an array such that each entry either contains a key of S or is marked “empty.” Cuckoo hashing addresses the problem of implementing an open addressing hash table with worst-caseconstant lookup time. Specifically, a constant number of entries in the hash table should be...

Keywords

Dictionary Hash table Key-value store Open addressing 
This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Azar Y, Broder AZ, Karlin AR, Upfal E (1999) Balanced allocations. SIAM J Comput 29(1):180–200MathSciNetzbMATHCrossRefGoogle Scholar
  2. 2.
    Berman I, Haitner I, Komargodski I, Naor M (eds) (2013) Hardness preserving reductions via cuckoo hashing. In: Theory of cryptography. Springer, Berlin/New York, pp 40–59Google Scholar
  3. 3.
    Cain JA, Sanders P, Wormald N (2007) The random graph threshold for k-orientability and a fast algorithm for optimal multiple-choice allocation. In: Proceedings of the 18th annual ACM-SIAM symposium on discrete algorithms (SODA), New Orleans. ACM, pp 469–476Google Scholar
  4. 4.
    Carter JL, Wegman MN (1979) Universal classes of hash functions. J Comput Syst Sci 18(2):143–154MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Dietzfelbinger M, Weidling C (2005) Balanced allocation and dictionaries with tightly packed constant size bins. In: ICALP, Lisbon. Lecture notes in computer science, vol 3580. Springer, pp 166–178Google Scholar
  6. 6.
    Erlingsson Ú, Manasse M, McSherry F (2006) A cool and practical alternative to traditional hash tables. In: Proceedings of the 7th workshop on distributed data and structures (WDAS), Santa ClaraGoogle Scholar
  7. 7.
    Fotakis D, Pagh R, Sanders P, Spirakis PG (2005) Space efficient hash tables with worst case constant access time. Theory Comput Syst 38(2):229–248MathSciNetzbMATHCrossRefGoogle Scholar
  8. 8.
    Kirsch A, Mitzenmacher M, Wieder U (2009) More robust hashing: cuckoo hashing with a stash. SIAM J Comput 39(4):1543–1561MathSciNetzbMATHCrossRefGoogle Scholar
  9. 9.
    Kutzelnigg R (2006) Bipartite random graphs and cuckoo hashing. In: Proceedings of 4th colloquium on mathematics and computer science, NancyGoogle Scholar
  10. 10.
    LeLarge M (2012) A new approach to the orientation of random hypergraphs. In: Proceedings of the 23rd annual ACM-SIAM symposium on discrete algorithms (SODA), Kyoto. ACM, pp 251–264CrossRefGoogle Scholar
  11. 11.
    Pagh R (2001) On the cell probe complexity of membership and perfect hashing. In: Proceedings of the 33rd annual ACM symposium on theory of computing (STOC), Heraklion. ACM, pp 425–432Google Scholar
  12. 12.
    Pagh R, Rodler FF (2004) Cuckoo hashing. J Algorithms 51:122–144MathSciNetzbMATHCrossRefGoogle Scholar
  13. 13.
    Panigrahy R (2005) Efficient hashing with lookups in two memory accesses. In: Proceedings of the 16th annual ACM-SIAM symposium on discrete algorithms (SODA), Vancouver. SIAM, pp 830–839Google Scholar
  14. 14.
    Pinkas B, Reinman T (2010) Oblivious RAM revisited. In: Advances in cryptology–CRYPTO 2010, Santa Barbara. Springer, pp 502–519CrossRefGoogle Scholar
  15. 15.
    Zukowski M, Heman S, Boncz PA (2006) Architecture-conscious hashing. In: Proceedings of the international workshop on data management on new hardware (DaMoN), Chicago. ACM, Article No 6Google Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  1. 1.Theoretical Computer Science, IT University of CopenhagenCopenhagenDenmark