An O(nlog n) Algorithm for the Maximum Agreement Subtree Problem for Binary Trees
Abstract
The maximum agreement subtree problem is the following. Given two rooted trees whose leaves are drawn from the same set of items (e.g., species), find the largest subset of these items so that the portions of the two trees restricted to these items are isomorphic. We consider the case which occurs frequently in practice, i.e., the case when the trees are binary, and give an O(nlog n) time algorithm for this problem.
[1] , Maximum agreement subtree in a set of evolutionary trees: metrics and efficient algorithms, SIAM J. Comput., 26 (1997), 1656–1669 10.1137/S0097539794269461 98i:68109
[2]
[3]
[4] , Agreement of many bounded degree evolutionary trees, Inform. Process. Lett., 55 (1995), pp. 297–301. ipl IFPLAT 0020-0190 Inf. Process. Lett.
[5] , Fast comparison of evolutionary trees, Inform. and Comput., 123 (1995), 29–37 10.1006/inco.1995.1155 96j:92013
[6] , Sparse dynamic programming for evolutionary‐tree comparison, SIAM J. Comput., 26 (1997), 210–230 10.1137/S0097539794262422 97m:68093
[7] , Obtaining common pruned trees, J. Classification, 2 (1985), pp. 255–276.
[8]
[9]
[10] , Fast algorithms for finding nearest common ancestors, SIAM J. Comput., 13 (1984), 338–355 85f:68081
[11] , Tree contractions and evolutionary trees, SIAM J. Comput., 27 (1998), 1592–1616 10.1137/S0097539795283504 2000a:05063
[12] , An algorithm to find agreement subtrees, J. Classification, 12 (1995), pp. 91–100.
[13] , A best possible bound for the weighted path length of binary search trees, SIAM J. Computing, 6 (1977), pp. 235–239. sim SMJCAT 0097-5397 SIAM J. Comput.
[14] , Kaikoura tree theorems: computing the maximum agreement subtree, Inform. Process. Lett., 48 (1993), 77–82 10.1016/0020-0190(93)90181-8 95d:68066