title: What algorithm gives suggestions in a spell checker?
body: <p>What algorithm is typically used when implementing a spell checker that is accompanied with word suggestions?</p>
  
  <p>At first I thought it might make sense to check each new word typed (if not found in the dictionary) against it's <a href="http://en.wikipedia.org/wiki/Levenshtein_distance" rel="noreferrer">Levenshtein distance</a> from every other word in the dictionary and returning the top results.  However, this seems like it would be highly inefficient, having to evaluate the entire dictionary repeatedly.</p>
  
  <p>How is this typically done?</p>