Расстояние Левенштейна
алгоритм, который принимает 2 строки и возвращает мне «фактор сходства».
По сути, у меня будет ввод, который может быть написан с ошибкой, транспонированы буквы и т. Д., И я должен найти наиболее близкие совпадения в списке возможных значений, которые у меня есть.
Это не для поиска в базе данных. У меня будет в памяти список из 500 или около того строк для сравнения, все до 30 символов, поэтому он может быть относительно медленным.
Я знаю, что это существует, я видел это раньше, но я не могу вспомнить его имя.
Редактировать: Спасибо за указание Левенштейна и Хэмминга. Теперь, что я должен реализовать? Они в основном измеряют разные вещи, обе из которых могут быть использованы для того, что я хочу, но я не уверен, какая из них более подходящая.
Я прочитал об алгоритмах, Хэмминг, кажется, быстрее. Поскольку ни один из них не обнаружит два транспонируемых символа (т. Е. Джордан и Йодран), что, я считаю, будет распространенной ошибкой, которая будет более точной для того, что я хочу? Может кто-нибудь рассказать мне немного о компромиссах?