1. 程式人生 > >C#:字串相似度演算法( Levenshtein Distance演算法)

C#:字串相似度演算法( Levenshtein Distance演算法)

編輯距離,又稱Levenshtein距離(也叫做Edit Distance),是指兩個字串之間,由一個轉成另一個所需的最少編輯操作次數。許可的編輯操作包括將一個字元替換成另一個字元,插入一個字元,刪除一個字元。

網上有很多關於此演算法的原始碼,但其中一些存在Bug,如百度搜索排名靠前的:

Bug:matrix[0][0]沒有初始化

此外,幾乎所有的程式碼都沒有考慮是否忽視字母大小寫的問題,因此我用C#重新實現此演算法。

測試程式碼: