- Для выдачи ближайших слов использует структуру BK-Tree, которая дает асимптотику O(L * A * log n), где L - лимит на ошибки (Не думаю, что по слову
abcdefg
нужно предлагатьcongrats
, так что он уставлен на 3-ех), A - средняя длина слова в словаре, что обычно довольно маленькая величина. - Реализован простенький Dictionary, состоящий из HashSet. Создается из txt файла по переданному в конструктор пути.
- Пример тестов (Dictionary из тестов):
Input:
help
input.txt
Output:
Word is correct.
Input:
helt
input.txt
Output:
Word is incorrect, perhaps you mean:
fell
felt
hell
help
smell
halt
shel