Schaller, David; Marc Hellmuth and Peter F. Stadler
The problem of finding a common refinement of a set of rooted trees with common leaf set L appears naturally in mathematical phylogenetics whenever poorly resolved information on the same taxa from different sources is to be reconciled. This constitutes a special case of the well- studied supertree problem, where the leaf sets of the input trees may differ. Algorithms that solve the rooted tree compatibility problem are of course applicable to this special case. However, they require sophisticated auxiliary data structures and have a running time of at least O(k|L| log2(k|L|)) for k input trees. Here, we show that the problem can be solved in O(k|L|) time using a simple bottom-up algorithm called LinCR. An implementation of LinCR in Python is freely available at https://github.com/david-schaller/tralda.