我正在用Python编写一个拼写检查程序。我有一个有效单词的列表(字典),我需要输出这个字典中与给定无效单词的编辑距离为2的单词列表。
我知道我需要首先生成一个与无效单词的编辑距离为1的列表(然后对所有生成的单词再次运行该距离)。我有三个方法:插入(...)、删除(...)和更改(...)这应该输出一个编辑距离为1的单词列表,其中inserts输出比给定词多一个字母的所有有效单词,deletions输出比给定单词少一个字母的所有有效单词,changes输出一个不同字母的所有有效单词。
我检查了很多地方,但似乎找不到一个描述这一过程的算法。我想出的所有想法都涉及到多次遍历字典列表,这将非常耗时。如果有人能提供一些见解,我将不胜感激。
https://stackoverflow.com/questions/2460177
复制相似问题