Скажем, что у вас есть список из 10 000 адресов электронной почты, и вы хотите найти то, что некоторые из ближайших "соседей" в этом списке - определяются как адреса электронной почты, подозрительно близкие к другим адресам электронной почты в вашем списке.
Я знаю, как рассчитать расстояние Левенштейна между двумя строками (спасибо этот вопрос), который даст мне оценку того, сколько операций необходимо для преобразования одной строки в другую.
Скажем, что я определяю "подозрительно близко к другому адресу электронной почты", поскольку две строки имеют оценку Левенштейна меньше, чем N.
Существует ли более эффективный способ найти пары строк, чей балл ниже этого порога, кроме сравнения любой возможной строки с любой другой возможной строкой в списке? Другими словами, можно ли решить эту проблему быстрее, чем O(n^2)
?
Является ли Левенштейн неудачным выбором алгоритмов для этой проблемы?