Kaikoura tree theorems: Computing the maximum agreement subtree

Mike Steel, Tandy Warnow

Research output: Contribution to journalArticlepeer-review


The Maximum Agreement Subtree Problem was posed by Finden and Gordon in 1985, and is as follows: given a set S = {S1, S2,..., Sn} and two trees P and Q leaf-labelled by the elements of S, find a maximum cardinality subset S0 of S such that P|S0 = Q|S0. This problem arises in evaluationary tree construction, where different methods or data yield (possibly) different trees for the same species on which the trees agree. A superpolynomial time algorithm for finding a maximum agreement subtree of two binary trees was found by Kubicka et al. In this paper, we will present an O(n4.5 log n + V) algorithm to determine the largest agreement subtree of two trees on n leaves, where V is the maximum number of nodes in the trees. For the case of trees of maximum degree k, there are two algorithms presented: one has running time O(k!n2 + V) while the other has running time O(k2.5n2 log n + V). These algorithms also apply when the trees are constrained to be rooted; in this case a maximum agreement subtree is also constrained to be rooted. Each of the algorithms we present can be modified to produce a maximum agreement subtree, rather than computing only the size. Thus, we can solve the searchproblem in the same running time as above.

Original languageEnglish (US)
Pages (from-to)77-82
Number of pages6
JournalInformation Processing Letters
Issue number2
StatePublished - Nov 8 1993
Externally publishedYes


  • Algorithms
  • Analysis of algorithms
  • Combinatorial problems

ASJC Scopus subject areas

  • Computational Theory and Mathematics


Dive into the research topics of 'Kaikoura tree theorems: Computing the maximum agreement subtree'. Together they form a unique fingerprint.

Cite this