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