假设您有一个类似序列的列表,例如
a a a a
a b a a a
x a a a a y
...
您想要检测所有这些序列的公共聚合,例如
x? a b? a a a y?
其中operator ?
指定该元素是可选的。
你会使用什么算法?
答案 0 :(得分:3)
查看生物信息学中使用的sequence alignment algorithms。
更具体地说,因为您有一个列表multiple sequence alignment。 Viterbi algorithm应该这样做。
答案 1 :(得分:1)
我认为如果你将列表转换为后缀树,那么它将是非常简单的递归解决方案,但我不确定渐近复杂度
答案 2 :(得分:1)
您可能需要查看用于执行序列比对的smith-Waterman算法。