Levenshtein Distance(莱文斯坦距离/编辑距离/Edit Distance):指两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它们越是不同。
算法过程:
- ①
if(str1.length==0) return str2.length;
if(str2.length==0) return str1.length;
- ②
init (n+1)(m+1)的矩阵 d,并让第一行和列的值从 0 开始增长。
扫描两字符串(nm级的):
if str1[i] == str2,temp = 0
else temp = 1
然后 矩阵点 d[i,j] = min(d[i-1,j]+1 、d[i,j-1]+1、d[i-1,j-1]+temp )
用:d[i-1,j]+1 表示增加操作,d[i,j-1]+1 表