計算字符串相似度算法 - 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>