近似字符串匹配的新索引方法
在字符串处理领域,近似字符串匹配是一个重要的研究方向。本文将介绍一种新的索引方法,用于近似字符串匹配,并通过实验验证其性能。
1. 索引方法基础
在大多数情况下,一种简单且效果较好的技术是选择 $j = \frac{m + k}{\log_{\sigma} n}$,其复杂度为:
[O\left(n^{1 - \log_{\sigma}(\frac{1}{\gamma})}\frac{1}{1 + \alpha}\right) = O\left(n^{\frac{2(\alpha + H_{\sigma}(\alpha))}{1 + \alpha}}\right)]
其中,$H_{\sigma}(\alpha) = -\alpha \log_{\sigma} \alpha - (1 - \alpha) \log_{\sigma}(1 - \alpha)$ 是基于 $\sigma$ 的熵函数。
2. 方法的局限性
该混合方法存在一定的局限性,具体如下:
- 当 $n > \sigma^{\Theta(m)}$ 时,由于验证成本超过后缀树遍历成本,最佳的 $j$ 值变为 1,即不进行模式划分。
- 当 $n < \sigma^{\Theta(\frac{1}{\alpha})}$ 时,最佳的 $j$ 值 $\geq k + 1$。此时在后缀树中搜索的成本为 $O(m)$,之后需要验证所有出现的位置。
- 当 $n$ 非常小时,索引变得无用。可以增加 $j$ 来提高对小文本的适应性,但 $j$ 的上限是 $k + 1$。当 $n < \sigma^{\frac{1}{1
超级会员免费看
订阅专栏 解锁全文
1328

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



