寻找汉明距离下的近似重复和单核苷酸多态性问题的算法探究
汉明距离下近似重复的寻找
在处理字符串时,寻找近似重复是一个重要的任务,尤其是在考虑汉明距离下的 K - 错配情况。
寻找 K - 错配全局定义的重复
为了找到 K - 错配全局定义的重复,采用了分三个阶段的算法:
1. 第二阶段 :
- 划分当前因子块 :将当前因子块 $B = f_i f_{i + 1} \cdots f_{i + m}$ 划分为两个子块 $B’ = f_i \cdots f_{\lfloor m/2 \rfloor}$ 和 $B’’ = f_{\lfloor m/2 \rfloor + 1} \cdots f_{i + m}$。
- 查找特定重复 :使用算法 1,找出在 $B$ 中与 $f_{\lfloor m/2 \rfloor}$ 的首字符接触的重复,但丢弃那些与 $f_{i + m}$ 的首字符接触或包含 $f_i$ 的第一个字符的重复。
- 递归处理子块 :递归地处理 $B’$ 和 $B’‘$。
这个算法有 $\lceil \log K \rceil$ 层递归,由于每次将单词拆分为不相交的子块,所以第二阶段的整体复杂度为 $O(nK \log K)$。
| 步骤 | 操作 |
|---|---|
| 1 |
超级会员免费看
订阅专栏 解锁全文
719

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



