The Levenshetin Distance(字符串编辑距离)理解

今天看到一个特好玩的视频,分享给大家
The Levenshetin Distance
wiki百科

比如说要计算字符串A = “benyam” 和字符串 B = "ephrem"之间的字符串编辑距离,先画一个矩阵

replace insert
delete 我们所在的位置

replace、insert 、 delete代表字符串A转换成字符串B所做的操作,无论哪一个都认为操作 1 次
The Levenshetin Distance(字符串编辑距离)理解_第1张图片
如图所示,选择三个值中最小的那个,然后
相比较的两个字母不同的时候,我们所在的位置的值=最小值+1
否则,我们所在的位置的值 = 最小值

填到最后,5即为字符串A和字符串B之间的编辑距离。
用程序验证了一下该方法:
The Levenshetin Distance(字符串编辑距离)理解_第2张图片
是一样的,安装

pip install python-Levenshetin

复杂度
a = A.length()
b = B.length()
时间复杂度 = O(ab)
空间复杂度 = O(ab)

你可能感兴趣的:(学习日记)