【发布时间】:2010-12-24 01:56:18
【问题描述】:
我需要实现一个字符串匹配算法来确定哪些字符串最匹配。当可以获得这个固定长度时,我看到汉明距离是一个很好的匹配算法。
如果我改用 Levenshtein 距离公式,匹配质量有什么优势吗?我知道这种方法效率较低,因为它考虑了可变长度的字符串,但我在这里真正关心的是匹配的质量。另外,有没有更好的算法我可以考虑?如果这有什么不同,我会在 Java 中工作。
http://en.wikipedia.org/wiki/Levenshtein_distance
http://en.wikipedia.org/wiki/Hamming_distance
非常感谢
【问题讨论】:
-
您能描述一下您如何评价比赛的质量吗?这是一个主观的衡量标准,所以如果你能描述你的目标,你会得到更好的答案。
-
对于 2 个字符串,比如 AHDJD 和 KDLOS,我想判断它们彼此之间的“接近”程度。所以 AAAAA 和 AAAAA 将是 100% 匹配。 BAAAA 和 AAAAA 会接近 97%,KAAAA 和 AAAAAA 会接近 93%……BJKDZ 和 AAAAA 几乎不会相似……这有帮助吗?