功能區塊 SIMILAR_TEXT

功能區塊 SIMILAR_TEXT 計算兩個字串的相似度。

計算兩個字串的相似度是根據 Oliver (ISBN 0-131-00413-1) 在 Programming Classics: Implementing the World's Best Algorithms 一書中描述的方法。請注意,此實作並未使用 Stack,如同 Oliver 的 Pseudo-Code,但使用遞迴呼叫,這可能會提高效能(但不一定)。也請注意,此演算法的複雜度為 O(N³),其中 N 為最長字串的長度。

輸入 STR1

輸入定義要比較的第一個字串。

輸入 STR2

輸入定義要比較的第二個字串。

輸出 SIM

輸出回傳兩個字串中相符合的字元數量。

相符合的字元數量是透過尋找最長的第一個共同子字串,然後遞迴地重複在前綴和後綴上。所有找到的共同子字串的長度會被加總。

輸出 PERCENT

輸出回傳相似度為百分比值的浮點數。此結果除以指定字串長度的平均值,然後乘以 100。