我正在用Python编写拼写检查程序。我有一个有效单词列表(字典),我需要输出从给定的无效单词到字典中编辑距离为2的单词列表。
我知道我需要首先生成一个距离无效单词编辑距离为1的单词列表(然后再对所有生成的单词运行一次)。我有三种方法, inserts(...), deletions(...) and changes(...),它们应该输出编辑距离为1的单词列表,其中inserts 输出所有比给定单词多一个字母的有效单词,deletions 输出所有比给定单词少一个字母的有效单词,而changes输出所有与给定单词不同的一个字母的有效单词。
我已经检查了很多地方,但似乎找不到描述这个过程的算法。我想到的所有想法都涉及多次循环遍历字典列表,这将非常耗时。如果有人能提供一些见解,我将非常感激。