Spellcheck and Autocomplete

Project Summary

Created a program that performed spellcheck and autocomplete on a set of strings, similar to most modern word processor. The project utilized many data structures, including Ternary Search Trees, HashTable, and Binary Search Trees. The Hamming Distance was used in the spell checking function to suggest the word most similar in the dictionary.

The dictionary was implemented using both a BST and HashTable. Valgrind was used to look for memory leaks and unit tests were created to test the performance of spellcheck and autocomplete. One major focus of the project was making functions that performed well in regard to time complexity, or Big O.