One of the recent topics I dove into for my project Todool was Spell Checking.
Obviously spell checking itself tends to be very complex due to each language having their own complex rules, but you can accomplish basic English spell checking as described here.
In short here's how it works:
- load English ebook (ASCII)
- read through all words (lowercase all characters)
- add each word to a hashmap
Spell Checking is finding if a key: string exists in the map. You can also apply modification as described in the blog to check for offspring of the key you're searching for.
The ebook I'm using has ~30_000 unique words that will be added to the map - this can quickly use up a lot of memory in your program. Which is what we will dive into now
String Storage
We want to store all these unique words in a data structure, use as little memor
