标签:lin bsp 科学 衡量 col 拼写检查 get nts The
Levenshtein距离(LD)是衡量两个字符串之间的相似度,我们将称之为源字符串(s)和目标字符串(t)的距离是删除,插入,或需要替换变换成t。例如,
LD(s, t) = 0
,因为他们之前不需要转换,字符串已经完全相同。LD(s, t) = 1
,因为一次替换(将‘s‘替换为‘n‘)就可以将s转换成t。莱温斯坦距离越大,则表示两个字符串的相似度越小。
Levenshtein distance是以俄罗斯科学家Vladimir Levenshtein,他在1965年设计了这个算法,这个度量值有时也被称为编辑距离(edit distance)
用途:
String s;
String t;
int n = s.length()
int m = t.length()
int cost = 0;
n
是字符串s
的长度,m
是字符串t
的长度
n == 0
返回m
m == 0
返回n
0...m
,列数(columns)是0...n
0-m
,
0-n
s
的每个字符(i = 1; i < n; i++
)t
的每个字符串(j = 1; j < n; j++
)s[i] == t[j]
, cost = 0
,否则cost = 1
matrix
单元格d[i, j]
的值为下面三种情况的最小值:d[i-1, j]+1
d[i, j-1] + 1
cost
:d[i - 1, j - 1] + cost
(3,4,5,6)
完成之后,在单元格d[n, m]
中找到距离# 两个字符串s 和t
String s = "GUMBO";
String t = “GAMBOL”;
- | - | G | U | M | B | O |
---|---|---|---|---|---|---|
- | 0 | 1 | 2 | 3 | 4 | 5 |
G | 1 | |||||
A | 2 | |||||
M | 3 | |||||
B | 4 | |||||
O | 5 | |||||
L | 6 |
- | - | G | U | M | B | O |
-- | - | - | - | - | - | - |
- | 0 | 1 | 2 | 3 | 4 | 5
G | 1 | 0 |
A | 2 | 1
M | 3 | 2
B | 4 | 3
O | 5 | 4
L | 6 | 5
- | - | G | U | M | B | O |
---|---|---|---|---|---|---|
- | 0 | 1 | 2 | 3 | 4 | 5 |
G | 1 | 0 | 1 | |||
A | 2 | 1 | 1 | |||
M | 3 | 2 | 2 | |||
B | 4 | 3 | 3 | |||
O | 5 | 4 | 4 | |||
L | 6 | 5 | 5 |
- | - | G | U | M | B | O |
---|---|---|---|---|---|---|
- | 0 | 1 | 2 | 3 | 4 | 5 |
G | 1 | 0 | 1 | 2 | ||
A | 2 | 1 | 1 | 2 | ||
M | 3 | 2 | 2 | 1 | ||
B | 4 | 3 | 3 | 2 | ||
O | 5 | 4 | 4 | 3 | ||
L | 6 | 5 | 5 | 4 |
- | - | G | U | M | B | O |
---|---|---|---|---|---|---|
- | 0 | 1 | 2 | 3 | 4 | 5 |
G | 1 | 0 | 1 | 2 | 3 | |
A | 2 | 1 | 1 | 2 | 3 | |
M | 3 | 2 | 2 | 1 | 2 | |
B | 4 | 3 | 3 | 2 | 1 | |
O | 5 | 4 | 4 | 3 | 2 | |
L | 6 | 5 | 5 | 4 | 3 |
- | - | G | U | M | B | O |
---|---|---|---|---|---|---|
- | 0 | 1 | 2 | 3 | 4 | 5 |
G | 1 | 0 | 1 | 2 | 3 | 4 |
A | 2 | 1 | 1 | 2 | 3 | 4 |
M | 3 | 2 | 2 | 1 | 2 | 3 |
B | 4 | 3 | 3 | 2 | 1 | 2 |
O | 5 | 4 | 4 | 3 | 2 | 1 |
L | 6 | 5 | 5 | 4 | 3 | 2 |
得到距离在矩阵的右下角,"GUMBO"可以通过两个步骤得到"GAMBOL"
U
替换成A
O
后面插入L
所以他们的距离是2
标签:lin bsp 科学 衡量 col 拼写检查 get nts The
原文地址:https://www.cnblogs.com/robbits/p/11748373.html