This Java project demonstrates multiple hashing techniques using open addressing and separate chaining to resolve collisions. The program reads a list of words from a file and stores them in a hash table using your selected technique.
Hashing is a data storage technique that maps data (like a word or number) to a specific location in a hash table using a hash function.
- 🔍 Extremely fast data access (ideally O(1))
- 📦 Used in real-world systems like caches, databases, symbol tables
- 🔐 Plays a major role in encryption, password hashing, and file deduplication
-
🔄 The program reads words from
Words.txt
usingFileReader.java
. -
🧮 For each word, it computes the hash index using this function in
HashFunctions.java
:
int hash = word.chars().sum() % tableSize;
git clone https://github.com/mennadevhub/Hashing-Project.git