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...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Recommended Reading
Azar Y, Broder AZ, Karlin AR, Upfal E (1999) Balanced allocations. SIAM J Comput 29(1):180–200
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
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
Carter JL, Wegman MN (1979) Universal classes of hash functions. J Comput Syst Sci 18(2):143–154
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
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
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
Kirsch A, Mitzenmacher M, Wieder U (2009) More robust hashing: cuckoo hashing with a stash. SIAM J Comput 39(4):1543–1561
Kutzelnigg R (2006) Bipartite random graphs and cuckoo hashing. In: Proceedings of 4th colloquium on mathematics and computer science, Nancy
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
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
Pagh R, Rodler FF (2004) Cuckoo hashing. J Algorithms 51:122–144
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
Pinkas B, Reinman T (2010) Oblivious RAM revisited. In: Advances in cryptology–CRYPTO 2010, Santa Barbara. Springer, pp 502–519
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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
DOI: https://doi.org/10.1007/978-1-4939-2864-4_97
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4939-2863-7
Online ISBN: 978-1-4939-2864-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering