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