Glossary Term
Hash function
Overview and Properties of Hash Functions
- A hash function takes a key as an input to identify data in a storage and retrieval application.
- The output is a hash code used to index a hash table.
- A good hash function should be fast to compute and minimize collisions.
- Uniformity in hash values is important for efficient performance.
Hash Tables and Collision Resolution
- Hash functions are used with hash tables to store and retrieve data items.
- Collision resolution is required when a hash code indexes a full slot.
- The collision resolution procedure depends on the structure of the hash table.
Specialized Uses of Hash Functions
- Hash functions are used to build caches for large data sets.
- They are used in the Bloom filter and geometric hashing.
- Hash tables are used to implement associative arrays and dynamic sets.
Testing, Measurement, and Efficiency of Hash Functions
- The uniformity of hash values can be evaluated using the chi-squared test.
- Hash functions should balance search time and data storage space.
- Computational complexity varies with different methods.
- Faster hash functions are preferred over ones with more computation but fewer collisions.
Applicability and Variations of Hash Functions
- Hash functions are applicable in integrity checks, key derivation, MACs, and password storage.
- Deterministic hash functions always generate the same hash value for a given input.
- Hash functions can have a fixed or variable range of hash values.
- Dynamic hash functions minimize record relocation.
- Data normalization is important for accurate comparison results.
- There are variations of hash functions such as algebraic coding, unique permutation hashing, and customized hash functions.
- Hash functions for variable-length data should consider all characters of the string.