algo

FacebookTwitter
http://blog.notdot.net/2007/4/Damn-Cool-Algorithms-Part-1-BK-Trees Posted by Nick Johnson | Filed under coding , tech , damn-cool-algorithms This is the first post in (hopefully) a series of posts on Damn Cool Algorithms - essentially, any algorithm I think is really Damn Cool, particularly if it's simple but non-obvious. BK-Trees, or Burkhard-Keller Trees are a tree-based data structure engineered for quickly finding near-matches to a string, for example, as used by a spelling checker, or when doing a 'fuzzy' search for a term. The aim is to return, for example, "seek" and "peek" if I search for "aeek". What makes BK-Trees so cool is that they take a problem which has no obvious solution besides brute-force search, and present a simple and elegant method for speeding up searches substantially.

Damn Cool Algorithms, Part 1: BK-Trees - Nick's Blog - Vimperator

Posted by Nick Johnson | Filed under python , coding , tech , damn-cool-algorithms In a previous Damn Cool Algorithms post, I talked about BK-trees, a clever indexing structure that makes it possible to search for fuzzy matches on a text string based on Levenshtein distance - or any other metric that obeys the triangle inequality . Today, I'm going to describe an alternative approach, which makes it possible to do fuzzy text search in a regular index: Levenshtein automata .

Damn Cool Algorithms: Levenshtein Automata

http://blog.notdot.net/2010/07/Damn-Cool-Algorithms-Levenshtein-Automata