使用 Damerau-Levenshtein 演算法計算字串距離相似度
確定字串之間的相似度在各種應用中至關重要。本文重點介紹距離相似度度量的計算,該度量表示將一個字串(錯誤單字)轉換為另一個字串(真實單字)所需的修改次數。具體來說,我們探討了 Damerau-Levenshtein (DL) 演算法,該演算法以其效率而聞名。
用於字串距離計算的 Damerau-Levenshtein 演算法
DL 演算法透過考慮四種操作來測量兩個字串之間的距離:插入、刪除、替換和相鄰字元的轉置。對於每個字元不匹配,分配成本為 1,而匹配則不產生任何成本。該演算法計算將一個字串轉換為另一個字串所需的這些操作的最小數量。
高效實現
為了提高效能,給定的程式碼採用了幾種關鍵技術:
實作細節
提供的程式碼計算兩個字元代碼點數組之間的 DL 距離,並提供一個可選參數用於指定最大允許距離。如果距離超過閾值,則傳回 int.MaxValue。
結論
這種最佳化的 DL 演算法實作提供了一種可靠的方法來計算字串距離相似度,同時優先考慮效能。透過利用上述技術,與其他實現相比,它實現了顯著的速度提升。
以上是Damerau-Levenshtein演算法如何有效率地計算字串距離相似度?的詳細內容。更多資訊請關注PHP中文網其他相關文章!