编辑距离是指将一个字符串转换成另一个字符串所需的插入、删除或替换操作的次数。我想在该算法中还包括交换操作。例如,“apple”和“appel”的编辑距离应为1。
编辑距离是指将一个字符串转换成另一个字符串所需的插入、删除或替换操作的次数。我想在该算法中还包括交换操作。例如,“apple”和“appel”的编辑距离应为1。
请在此处查看算法。
http://www.csse.monash.edu.au/~lloyd/tildeAlgDS/Dynamic/Edit/
你可以为交换、添加、删除操作分别设置不同的成本。
m[i,j] = min(m[i-1,j-1]
+ if s1[i]=s2[j] then 0 else cost_swap fi,
m[i-1, j] + cost_insert,
m[i, j-1] + cost_delete ), i=1..|s1|, j=1..|s2|