我正在寻找一种算法,可以获取两个字符串之间的“相似度因子”。
基本上,我的输入可能会有错别字,字母顺序颠倒等问题,而我必须在一组可能值中找到最接近的匹配项。
这不是用于在数据库中搜索。我将拥有一个内存中的字符串列表,其中包含约500个字符串进行匹配,所有字符串长度均小于30个字符,因此速度可以相对较慢。
我知道这种算法存在,以前见过,但我不能记起它的名字。
编辑:感谢指出Levenshtein和Hamming算法。
现在,应该选择哪一个来实现呢?它们基本上测量不同的东西,都可以用于我想要的目的,但我不确定哪一个更合适。
我已经阅读了有关算法的资料,Hamming算法看起来显然更快。由于两个字符换位(例如Jordan和Jodran)都无法检测出来,而我认为这可能是一个常见的错误,那么哪个算法对我想要的更准确?
有人能告诉我一些权衡取舍吗?