功能块 SIMILAR_TEXT

功能块 SIMILAR_TEXT 计算两个字符串的相似度。

计算两个字符串的相似度是根据 Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1) 中描述的方法。请注意,此实现没有使用堆栈,如奥利弗的伪代码所示,但使用了递归调用,这可以提高性能(但不一定)。还要注意的是,该算法的复杂度为 O(N³),其中 N 是最长字符串的长度。

输入 STR1

输入定义了将被比较的第一个字符串。

输入 STR2

输入定义了将被比较的第二个字符串。

输出 SIM

输出返回两个字符串中匹配字符的数量。

匹配字符的数量是通过查找最长的第一个共同子字符串,然后递归地重复前缀和后缀来计算的。所有找到的共同子字符串的长度被累加。

输出 PERCENT

输出以浮点数形式返回相似度的百分比值。为此,将结果除以指定字符串长度的平均值,然后乘以 100。