

@@ 21,7 +21,7 @@ the SGB five letter word list. Solutions to these exercises are listed below. 







```distinct.py``` computes the number of SGB words containing exactly k distinct letters. 







```diff_by_one_fixed.py```  (fixed 20190309.) computes the number of words in the SGB 



```diff_by_one_fixed.py```  (**fixed 20190309**) computes the number of words in the SGB 



that are off by a single letter in each position. An example is `rover` and `spuds`. 



Each corresponding letter is only different by one: `r > s`, `o>p`, and so on. 



This uses recursive backtracking to generate possible matches for each word, and 


@@ 29,13 +29,15 @@ uses a hash table to check for their existence in the original word set. 







There are 38 such pairs in the SGB. 







Also see [https://charlesreid1.com/wiki/F](https://charlesreid1.com/wiki/Letter_Coverage).. 



Also see [Five Letter Words](https://charlesreid1.com/wiki/Five_Letter_Words) 



on the charlesreid1.com wiki. 







```diff_by_n_fixed.py```  (added 20190310.) using the corrected approach (above) to 



computing differences by 1, this generalizes the calculation to words that are different 



by a distance `d` for each letter position. There 







by a distance `d` for each letter position. 







Also see [Five Letter Words: Part 4: Revisiting Diff by One](https://charlesreid1.github.io/fiveletterwordspart4revisitingdiffbyone.html) 



(blog post) on [charlesreid1.github.io](https://charlesreid1.github.io). 







```euclidean_distance.py```  computes the euclidean distance between two words. This uses 



the traditional Euclidean distance definition but reinterprets distance to mean edit distance. 


@@ 46,7 +48,7 @@ the traditional Euclidean distance definition but reinterprets distance to mean 







### Variations 







```diff_by_n.py```  computes words in SGB that have an edit distnace of n. 



```diff_by_n.py```  computes words in SGB that have an edit distance of n. 







```reverse_lexico.py```  variation on ```lexico.py``` that finds words whose letters are in 



reverse lexicographic order. 


@@ 61,7 +63,8 @@ of the alphabet. We authored a dynamic program to compute precisely this  given 



number of letters N from the alphabet, this program computes the minimum number of 



words it takes to cover all N letters. 







Also see [https://charlesreid1.com/wiki/Letter_Coverage](https://charlesreid1.com/wiki/Letter_Coverage).. 



Also see [Letter Coverage](https://charlesreid1.com/wiki/Letter_Coverage) 



page on the charlesreid1.com wiki. 







# Sources 






@@ 69,4 +72,3 @@ Also see [https://charlesreid1.com/wiki/Letter_Coverage](https://charlesreid1.co 



<[http://wwwcsfaculty.stanford.edu/~knuth/sgb.html](http://wwwcsfaculty.stanford.edu/~knuth/sgb.html)> 











