Skip to main content

Cuckoo Hashing

  • Reference work entry
  • First Online:
  • 95 Accesses

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...

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   1,599.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD   1,999.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Recommended Reading

  1. Azar Y, Broder AZ, Karlin AR, Upfal E (1999) Balanced allocations. SIAM J Comput 29(1):180–200

    Article  MathSciNet  MATH  Google Scholar 

  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–59

    Google Scholar 

  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–476

    Google Scholar 

  4. Carter JL, Wegman MN (1979) Universal classes of hash functions. J Comput Syst Sci 18(2):143–154

    Article  MathSciNet  MATH  Google Scholar 

  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–178

    Google Scholar 

  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 Clara

    Google Scholar 

  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–248

    Article  MathSciNet  MATH  Google Scholar 

  8. Kirsch A, Mitzenmacher M, Wieder U (2009) More robust hashing: cuckoo hashing with a stash. SIAM J Comput 39(4):1543–1561

    Article  MathSciNet  MATH  Google Scholar 

  9. Kutzelnigg R (2006) Bipartite random graphs and cuckoo hashing. In: Proceedings of 4th colloquium on mathematics and computer science, Nancy

    Google Scholar 

  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–264

    Chapter  Google Scholar 

  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–432

    Google Scholar 

  12. Pagh R, Rodler FF (2004) Cuckoo hashing. J Algorithms 51:122–144

    Article  MathSciNet  MATH  Google Scholar 

  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–839

    Google Scholar 

  14. Pinkas B, Reinman T (2010) Oblivious RAM revisited. In: Advances in cryptology–CRYPTO 2010, Santa Barbara. Springer, pp 502–519

    Chapter  Google Scholar 

  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 6

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rasmus Pagh .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer Science+Business Media New York

About this entry

Cite this entry

Pagh, R. (2016). Cuckoo Hashing. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, New York, NY. https://doi.org/10.1007/978-1-4939-2864-4_97

Download citation

Publish with us

Policies and ethics