分支定界策略发现中间字符串

1、假定核苷酸A,C,G,T被编码成数字(1,2,3,4),在该树第i层中一个顶点表示一个长度为i的核苷酸字符串

2、TOTALDISTANCE(v,NDA)表示一个给定的字符串動画与DNA中任意一组起始位点之间的汉明距离之和可能取到的最小值。

3、算法

BRANCHANDBOUNDMEDIANSEARCH(DNA,t,n,l)

s<-(1,1,...,1)

bestDistance<-∞

i<-1

while i>0

if i<l

prefix<-与(S1,S2,....Si)相应的核苷酸字符串

optimisticDistance<-TOTALDISTANCE(prefix,DNA)

if optimisticDistance>bestDistance

(s,i)<-BYPASS(s,i,l,4)

else

(s,i)<-NEXTVERTEX(s,i,k,4)

else

word<-与(S1,S2,....Sl)相应的核苷酸字符串

if TOTALDISTANCE(word,DNA)<bestDistance

bestDistance<-TOTALDISTANCE(word,DNA)

bestWord<-word

(s,i)<-NEXTVERTEX(s,i,l,4)

return bestword

你可能感兴趣的:(C++,c,算法,C#)