LD = Levenshtein 距离
只是在纸上做一些例子,这似乎有效,但有谁知道这是否总是正确的?
假设我有 3 个字符串
机器人
鲍勃
物料清单
LD(BOT,BOB) = 1
和
LD(BOB,BOM)=1
然后
LD(BOT,BOM)=max(LD(BOT,BOB) , LD(BOB,DOM))=1
或者
巴布
BBAB
BCCD
LD(BBAB,BAAB) = 1
和
LD(BBAB,BCCD)=3
然后
LD(BAAB,BCCD)=最大值(LD(BBAB,BAAB), LD(BBAB,BCCD))=3
我想知道这是否总是适用。
那是,
LD(B,C) = 最大值 (LD(A,C),LD(A,B))
编辑——添加于太平洋标准时间 2009 年 10 月 22 日晚上 7:08
我开始认为这适用于相同长度的单词,否则你仍然可以这样做,但你必须添加单词长度差异的绝对值。
本质上LD(B,C) = max(LD(A,C),LD(A,B)) + abs(length(B)-length(C))