作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
对于我正在研究的问题,找到两个序列之间的距离以确定它们的相似性,序列顺序非常重要。但是,我拥有的序列的长度并不完全相同,所以我用空点填充任何不足的字符串,使两个序列的长度相同,以满足汉明距离要求。我这样做有什么大问题吗,因为我只关心转置的数量(而不是像 Levenshtein 那样插入或删除)?
我发现作为较长序列的距离度量,汉明距离比 Levenshtein 快得多。什么时候应该使用 Levenshtein 距离(或 Levenshtein 距离的衍生物)而不是便宜得多的汉明距离?汉明距离可以被认为是两个序列之间可能的 Levenshtein 距离的上限,所以如果我比较两个序列的顺序偏差相似性度量而不是匹配序列的绝对最小移动次数,则没有明显的我选择 Levenshtein 而不是 Hamming 作为度量标准的原因是什么?
最佳答案
这个问题实际上取决于您匹配的序列类型,以及您想要的结果。
如果“1234567890”和“0123456789”被认为完全不同不是问题的话,确实汉明距离是可以的。
关于algorithm - 汉明距离与 Levenshtein 距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4588541/
我是一名优秀的程序员,十分优秀!