【发布时间】:2011-04-02 02:40:33
【问题描述】:
当存在对整个子字符串进行操作的额外原始操作(标准是插入、删除、转置和替换单个字符)时,是否有用于确定 2 个字符串之间的编辑距离的算法示例。可能的额外原始操作示例如下:
1) 复制函数 - 复制任何子字符串并将其插入到需要的地方
2) move 函数 - 将任何子字符串移动到新位置
使用这些,如果 d & D 是 Levenstein 距离,但 D 还包括 1) & 2),则 d("Sheep", "SheepBeep") = 4(因为必须插入 4 个),但 D("Sheep ", "SheepBeep") = 2(插入“B”然后复制“eep”)。同样,d("CarDog", "DogCar") = 6 但 D("CarDog", "DogCar") = 1 by 2)。
是否可以对Levenstein Distance 算法进行(简单)修改以实现此目的?
【问题讨论】: