今天看到一个特好玩的视频,分享给大家
The Levenshetin Distance
wiki百科
比如说要计算字符串A = “benyam” 和字符串 B = "ephrem"之间的字符串编辑距离,先画一个矩阵
replace | insert |
---|---|
delete | 我们所在的位置 |
replace、insert 、 delete代表字符串A转换成字符串B所做的操作,无论哪一个都认为操作 1 次
如图所示,选择三个值中最小的那个,然后
相比较的两个字母不同的时候,我们所在的位置的值=最小值+1
否则,我们所在的位置的值 = 最小值
填到最后,5即为字符串A和字符串B之间的编辑距离。
用程序验证了一下该方法:
是一样的,安装
pip install python-Levenshetin
复杂度
a = A.length()
b = B.length()
时间复杂度 = O(ab)
空间复杂度 = O(ab)