A reader asked by email if it's effective to store a full-text search index in a DAWG and how does it compare with using a trie. DAWG is useful when you need a fuzzy search, e.g. for ignoring possible typos or spelling correction. If you don't need this, you can use a simpler data structure called suffix array.
I see a lot of people advocating to learn complex difficult languages first. I do see why they would advise this: it's all downhill after that.
But learning to code isn't just for the hardcore CS people. Coding is a useful skill regardless...
A ternary structure for storing dictionaries is proposed. The structure is based on ternary search trie that is "compressed" into a DAG by linking together equal subtrees. By using it, you can eliminate affix stripping and implement a faster spelling corrector.