Burkard Keller Trees
I was reading through the blog “Damn Cool Algorithms, Part 1: BK-Trees” by Nick Johnson and I was intrigued about burkard keller tree structure. (http://blog.notdot.net/2007/4/Damn-Cool-Algorithms-Part-1-BK-Trees)
It allows you to quickly search a tree of words (or other Objects) to find matches within a specified amount of “closeness”. It is a much more efficient way of searching a dictionary of related words used in a spell checker or search term suggester application. I decided to implement the algorithm myself in Java and posted the result to google code:
https://github.com/joshclemm/java-bk-tree/