字符串相似度算法

字符串相似度算法主要有 Levenshtein Distance、LCS、heckel、GST等

       编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。

       LCS是Longest Common Subsequence的缩写,即最长公共子序列。一个序列,如果是两个或多个已知序列的子序列,且是所有子序列中最长的,则为最长公共子序列。

       GST(Greedy String Tiling)算法是一种贪婪串匹配算法,这一算法对两个字符串进行贪婪式搜索以找出最大公有子串,它需要对要计算的两个字符串进行多次搜索,每次找出当前字符串中未“标注”部分的最长公共子串,并把找出的最长公共子串“标注”为已使用,避免最大匹配重复使用。

        heckel算法是由paul heckel 在文献【34】中描述的用于比较两个源程序或者文件的版本以显示它们的所有不同的地方的匹配算法。该算法以line为监测单元,一个排列是两个文本中连续的单元,一个排列在每个文本中只出现一次,其中每个对应元素都要求相等,但是排列在文本中的位置可以不同,如果找到这样的若干个排列,且它们彼此相邻,则将它们组合成一个排列。这个过程被重复执行直到相邻的排列都被找到,这样找到若干个长度较长的排列(最长字串),其总长度被用来计算相似度,改算法通过两个过程实现。-是找出一个排列,而是扩展排列

      其中编辑距离、LCS是有序匹配算法,GST是无序的匹配算法。

你可能感兴趣的:(字符串相似度算法)