Я программирую программу проверки орфографии в Python. У меня есть список допустимых слов (словарь), и мне нужно вывести список слов из этого словаря, у которых есть расстояние редактирования 2 от данного недопустимого слова.
Я знаю, что мне нужно начать с создания списка с расстоянием редактирования от недопустимого слова (а затем снова запустить его для всех сгенерированных слов). У меня есть три метода: inserts (...), delete (...) и изменения (...), которые должны выводить список слов с расстоянием редактирования 1, где inserts выводит все действительные слова с еще одной буквой, данное слово, удаления выводит все действительные слова с одной буквой и изменяет вывод всех допустимых слов с помощью одной другой буквы.
Я проверил множество мест, но я не могу найти алгоритм, описывающий этот процесс. Все идеи, которые я придумал, включают в себя цикл через список словарей несколько раз, что было бы чрезвычайно трудоемким. Если бы кто-нибудь мог предложить некоторое понимание, я был бы чрезвычайно благодарен.