This project implements a hash table and linked list data structure to create a dictionary application. The program allows users to search for words, suggesting a alternative word when the word is not found, and providing operations like inserting and removing words.
- Implementing and using hash tables and linked lists in C++.
- Understanding hashing algorithms and collision handling.
- Utilizing string manipulation and comparison techniques.
- Developing efficient algorithms for similarity scoring.
- Practical experience in I/O operations with files in C++.
- C++ programming language.
- Custom-built hash table and linked list implementations.
- Simple Timer (
TimeInterval) for measuring operation durations.
To compile the program, run:
- make
To run the program, use:
- make run
The program will prompt the user to enter a word. After processing the word, it will display results or suggestions.
To clean up compiled files, use:
- make clean
The user provides a word when prompted. The program searches for the word in the dictionary file (Dictionary.txt).

If the word is not found, it suggests a similar word based on a custom similarity score.

Depending on the answer from the user whether that simular word was the one they were trying to spell the program will output True or False based on whether or not its in the dictionary, and any other simular words to that word as well based on the custom simularity score.