这是 BLAST(基本局部对齐搜索工具)图。如何计算其时间复杂度?
BLAST 算法步骤:
创建查询序列的长度为 W 的单词列表。
在数据库中搜索 W 字。
命中序列的延长,即发现的序列,并分配分数。这些序列将由局部比对给出。
采用所谓的 HSP (高分段对)。
第一步需要时间 O(n),其中 n 是序列中元素的数量。
第二步是在第一步(上限 n)中创建的单词上的另一个循环,因此时间为 O(n)
第三步分配一个命中分数。这只能逐个字母完成,所以时间复杂度是 O (n * m),其中 m 是查询单词中的字母数。作为上限,我们可以说时间是 O (n ^ 2)
第四步是对获得的分数进行简单循环,因此 O(n)。
总之,该算法可以同化为 O(n ^ 2),在 m & lt;& lt;n 的情况下,我们可以说 O(n * m)。下界是 O(n)。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(51条)