The Levenshetin Distance(字符串編輯距離)理解

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章