我有一系列DNA序列,例如:
AA
TA
AC
CC
我搜索一个更快的方法来计算所有序列对之间的汉明距离(可能通过排序......),然后是天真的方法(O(N ^ 2))
For motif1 in array
For motif2 in array
calculate Hamming_Distance(motif1 , motif2)
end
end
我需要具有汉明距离= 1
的对的序列答案 0 :(得分:5)
如果您的n>> k,然后你可以试试
您的原始复杂度为O(n n k),其中k是序列的长度(因为汉明距离比较需要k步)。让我们尝试改进。
这样,你已经用O(n k k)代替了O(n n k),如果n>>那么这应该是有益的。 ķ。
对于k>>你可能并不真正关心n ^ 2部分,所以使用琐碎的算法。
对于接近n的k,您可以尝试我在评论中建议的内容