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 disagree with you on the syntax issue. Once upon a time, every language had such a syntax, a formal language definition that was complete and unambiguous, and could be used as the basis for writing a compiler, interpreter, syntax checker or whatever...
Robert, thank you very much for the kind words and suggestions. I agree that the avalanche effect is overrated; a simple multiplicative function is often enough.
There are functions designed to prevent an attacker from overloading a hash table (e.g...
Great article Peter, with some useful results about performance and collision probably on real world data.
Just one thing I want to query - I would question your assumption that increased complexity leads to lower collisions?..
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.