Обычно вы используете дерево слов, упорядоченное в соответствии с расстоянием редактирования друг от друга, например BK tree .
IIRC, идея состоит в том, чтобы сбалансированное дерево с каждым словом, связанным через края, пронумерованные в соответствии с расстоянием редактирования. Если вы хотите найти ближайшее совпадение для слова, вы вычисляете его расстояние редактирования до корневого слова, затем переходите по ссылке корневого слова с тем же номером и повторяете процесс, пока не достигнете конечного узла, который является либо тем же словом, или ближайший матч.
РЕДАКТИРОВАТЬ: задним числом, эта статья, на которую я ссылался, гораздо лучше объясняет, чем я. Я просто рекомендовал бы прочитать это для хорошего объяснения подхода.