近似字符串匹配的新型索引方法
在字符串匹配领域,近似字符串匹配是一个重要的研究方向,它允许在存在一定误差的情况下找到与模式串相似的文本。本文将介绍一种结合后缀树和模式划分的新型索引方案,该方案在近似字符串匹配中表现出色。
1. 现有方法与新型混合索引方案
在近似字符串匹配中,有一种特殊的方法,它不将搜索转化为精确匹配,而是对模式片段进行近似搜索。对于长度 $m \leq q - k$ 的模式串,会生成所有与该模式串编辑距离 $\leq k$ 的最大字符串,并在 $q$ - 元组集合中进行搜索,最后合并所有出现位置。对于较长的模式串,则会将其分割成足够短的片段。
本文提出的混合索引方案使用后缀树,将模式串划分为子模式,在后缀树中以较少的误差搜索这些子模式,最后验证所有子模式的出现位置是否完全匹配。该方案的目标是平衡在后缀树中搜索的成本(随着子模式大小的增加而增加)和验证潜在出现位置的成本(在搜索较短模式时增加)。实验表明,该方法明显优于其他已实现的方案,并且通过分析可知,平均检索时间可以达到 $O(n^2(\alpha + H_{\sigma}(\alpha))/(1 + \alpha))$,其中 $H_{\sigma}(\alpha)$ 是基数为 $\sigma$ 的熵函数。当 $\alpha < 1 - e/\sqrt{\sigma}$ 时,该时间复杂度为亚线性。
2. 结合后缀树和模式划分的具体方法
2.1 使用位并行自动机的深度优先搜索(DFS)
在遍历后缀树时,有多种现有算法。一些算法旨在最小化遍历的节点数,而另一些算法虽然简单但会检查更多节点。本文采用的算法基于一种简单的有限深度优先搜索,从根节点
超级会员免费看
订阅专栏 解锁全文
292

被折叠的 条评论
为什么被折叠?



