Everything about Hash table
Associative array for storing key–value pairs
In computer science, a hash table is a data structure that implements an associative array, also called a dictionary or simply map; an associative array is an abstract data type that maps keys to values. A hash table uses a hash function to compute an index, also called a hash code, into an array of buckets or slots, from which the desired value can be found. During lookup, the key is hashed and the resulting hash indicates where the corresponding value is stored. A map implemented by a hash table is called a hash map. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Hash tableA 5-minute orientation
- Skim a recent paper: Redactable Blockchain From Decentralized Chameleon Hash FunctionsInfluential work since 2022
- Pick up a classic book: Algorithms and data structuresThe most-reprinted book on the subject
- Read the landmark paper: Dynamic-Hash-Table Based Public Auditing for Secure Cloud StorageCited 212 times
- Go sideways: Open addressingA closely related topic
- Go sideways: Hopscotch hashingA closely related topic
📖 Definitions
Noun An associative array implemented as a vector, the indexes into which are the result of applying a hash function to the key.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Dynamic-Hash-Table Based Public Auditing for Secure Cloud Storage
Hash Table Methods
Fast hash table lookup using extended bloom filter
Revisiting Hash Table Design for Phase Change Memory
Image Encryption Based on Hash Table Scrambling and DNA Substitution
Optimal Arrangement of Keys in a Hash Table
A Hash Table for Line-Rate Data Processing
Iceberg Hashing: Optimizing Many Hash-Table Criteria at Once
🆕 Influential since 2022
Redactable Blockchain From Decentralized Chameleon Hash Functions
A Color Image Encryption Algorithm Based on Hash Table, Hilbert Curve and Hyper-Chaotic Synchronization
Enhancing Security of Medical Images Using Deep Learning, Chaotic Map, and Hash Table
Holochain: An Agent-Centric Distributed Hash Table Security in Smart IoT Applications
Resource Search Method of Mobile Intelligent Education System Based on Distributed Hash Table
📚 Books worth reading
Algorithms and data structuresKurt Mehlhorn · 2008
Programming Techniques · 1978
Fundamentals of Computer Programming with CSharp Free Book (by Nakov & Co.)Svetlin Nakov · 2013
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Open addressing Open addressing, or closed hashing, is a method of collision resolution in hash tables. With this method a hash collision is resolved by probing, or searching…
- Hopscotch hashing Hopscotch hashing is a scheme in computer programming for resolving hash collisions of values of hash functions in a table using open addressing. It is…
- Cuckoo hashing Cuckoo hashing is a scheme in computer programming for resolving hash collisions of values of hash functions in a table, with worst-case constant lookup…
- Hash function A hash function is any function that can be used to map data of arbitrary size to fixed-size values, though there are some hash functions that support…
- Linear probing Linear probing is a scheme in computer programming for resolving collisions in hash tables, data structures for maintaining a collection of key–value pairs…
- Coalesced hashing Coalesced hashing, also called coalesced chaining, is a strategy of collision resolution in a hash table that forms a hybrid of separate chaining and open…
- Associative array In computer science, an associative array, key-value store, map, symbol table, or dictionary is an abstract data type that stores a collection of key/value…
- Double hashing Double hashing is a computer programming technique used in conjunction with open addressing in hash tables to resolve hash collisions, by using a secondary…