今天看到一個特好玩的視頻,分享給大家
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)