What is the difference between Hashing and Hash Tables?
What is Hashing?
Hashing refers to the process of generating a fixed-size output from an input of variable size using the mathematical formulas known as hash functions. This technique determines an index or location for the storage of an item in a data structure.
It might not be strictly related to key-value pairs only if you are manipulating the data say for some encryption or changing it to a form that will be less complex to handle with, then its also hashing
What is Hash Table?
The implementation of a Hash table is the most popular use for hashing. This is a container that store the key-value pairs. Hash Tables use Hashing to generate a short Integer value out of the key and maps it with a value.
Some Important concepts regarding Hash Table:
Initial Capacity: In Java when we create a Hash Table, it constructs a new empty hashtable with a default initial capacity of 11. For HashMap in Java the initial capacity is 16
Load Factor: Load factor is defined as the ratio of the preferred number of entries that can be inserted in the Hash table before a size increment is required (a) to the total size of the hash table (b) i.e., load factor is (a/b).
Collision: A collision occurs when two keys are hashed to the same index in a hash table. Collisions are a problem because every slot in a hash table is supposed to store a single element. When Collision occurs it creates a chaining like a linked list and stores the keys.
Difference between Hash Table and Hashing:
Sl No. | Hashing | Hash Table |
---|---|---|
1 | Hashing is the process of transforming any given key or a string of characters into another value. | Hash Table is a container to store the key-value pairs. |
2 | Hashing is a built-in method. It can be defined by users also. | Hash table, HashMap, HashSet in Java and map, multimap, unordered_map, set etc. in C++ uses hashing to store data. |
3 | Hashing is used to generate a hashcode which is of type Integer. | Based on our needs we can use any type of hash table. |
4 | Hashing uses the same process for every key to generate hashcodes. | Hash Table generally works as a lookup table to check the keys we already came across and update or change the values being mapped with them or insert a new key in the table. |
Related Articles:
Contact Us