Pythonでスペルチェックプログラムをプログラミングしています。有効な単語 (辞書) のリストがあり、この辞書から、特定の無効な単語からの編集距離が 2 の単語のリストを出力する必要があります。
無効な単語から編集距離が 1 のリストを生成することから始める必要があることはわかっています (その後、生成されたすべての単語に対して再度実行します)。inserts(...)、deletions(...)、changes(...) の 3 つのメソッドがあり、編集距離が 1 の単語のリストを出力する必要があります。inserts は、すべての有効な単語を 1 つ多い文字で出力します。指定された単語、deletions はすべての有効な単語を 1 文字少なく出力し、changes はすべての有効な単語を 1 文字だけ減らして出力します。
たくさんの場所をチェックしましたが、このプロセスを説明するアルゴリズムが見つからないようです。私が思いついたアイデアはすべて、辞書リストを複数回ループする必要があり、非常に時間がかかります。誰かが洞察を提供できれば、私は非常に感謝しています。