A practical O(n log2 n) time algorithm for computing the triplet distance on binary trees.
The triplet distance is a distance measure that compares two rooted trees on the same set of leaves by enumerating all sub-sets of three leaves and counting how often the induced topologies of the tree are equal or different. We present an algorithm that computes the triplet distance between two rooted binary trees in time O (n log2 n). The algorithm is related to an algorithm for computing the quartet distance between two unrooted binary trees in time O (n log n). While the quartet distance algorithm has a very severe overhead in the asymptotic time complexity that makes it impractical compared to O (n2) time algorithms, we show through experiments that the triplet distance algorithm can be implemented to give a competitive wall-time running time.
Bioinformatics Research Center, Aarhus University, Denmark.
Andreas
A
Sand
Gerth Stølting
GS
Brodal
Rolf
R
Fagerberg
Christian N S
CN
Pedersen
Thomas
T
Mailund
D000465:Algorithms; D019295:Computational Biology / Q000379:methods*; D003198:Computer Simulation; D010802:Phylogeny; D012984:Software