計算字符串相似度算法 - Levenshtein
0.這個算法實現起來很簡單
1.百度百科介紹:
Levenshtein 距離,又稱編輯距離,指的是兩個字符串之間,由一個轉換成另一個所需的最少編輯操作次數。
許可的編輯操作包括將一個字符替換成另一個字符,插入一個字符,刪除一個字符。
編輯距離的算法是首先由俄國科學家Levenshtein提出的,故又叫Levenshtein Distance。
2.用途
模糊查詢
3.實現過程
a.首先是有兩個字符串,這里寫一個簡單的 abc和abe
b.將字符串想象成下面的結構。
A處 是一個標記,為了方便講解,不是這個表的內容。
abc | a | b | c | </tr>||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
abe | 0 | 1 | 2 | 3 | </tr>|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
a | 1 | A處 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
b | 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
e | 3 |
abc | a | b | c | </tr>|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
abe | 0 | 1 | 2 | 3 | </tr>||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
a | 1 | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
b | 2 | B處 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
e | 3 |
abc | a | b | c | </tr>||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
abe | 0 | 1 | 2 | 3 | </tr>|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
a | 1 | 0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
b | 2 | 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
e | 3 | C處 |
a | b | c | </tr>||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | 1 | 2 | 3 | </tr>|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
a | 1 | A處 0 | D處 1 | G處 2 | </tr>||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
b | 2 | B處 1 | E處 0 | H處 1 | </tr>||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
e | 3 | C處 2 | F處 1 | I處 1 | </tr> </tbody> </table>
天 | 周 | 一 | </tr>||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | 1 | 2 | 3 | </tr>|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
今 | 1 | 1 | 2 | 3 | </tr>||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
天 | 2 | 1 | 2 | 3 | </tr>||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
周 | 3 | 2 | 1 | 3 | </tr>||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
一 | 4 | 3 | 3 | 1 | </tr> </tbody> </table>
你 | 聽 | 說 | 要 | 放 | 假 | 了 | </tr>|||||||||||||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | </tr>||||||||||||||||||||||||||
聽 | 1 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | </tr>|||||||||||||||||||||||||
說 | 2 | 2 | 2 | 1 | 2 | 3 | 4 | 5 | </tr>|||||||||||||||||||||||||
馬 | 3 | 3 | 3 | 2 | 2 | 3 | 4 | 5 | </tr>|||||||||||||||||||||||||
上 | 4 | 4 | 4 | 3 | 3 | 3 | 4 | 5 | </tr>|||||||||||||||||||||||||
就 | 5 | 5 | 5 | 4 | 4 | 4 | 4 | 5 | </tr>|||||||||||||||||||||||||
要 | 6 | 6 | 6 | 5 | 4 | 5 | 5 | 5 | </tr>|||||||||||||||||||||||||
放 | 7 | 7 | 7 | 6 | 5 | 4 | 5 | 6 | </tr>|||||||||||||||||||||||||
假 | 8 | 8 | 8 | 7 | 6 | 5 | 4 | 6 | </tr>|||||||||||||||||||||||||
了 | 9 | 9 | 9 | 8 | 7 | 6 | 6 | 4 |
</tr>
</tbody>
</table>