An optimal algorithm for computing all subtree repeats in trees

T. Flouri, K. Kobert, S. P. Pissis*, A. Stamatakis

*Corresponding author for this work

Research output: Contribution to JournalReview articleAcademicpeer-review


Given a labelled tree T, our goal is to group repeating subtrees of T into equivalence classes with respect to their topologies and the node labels. We present an explicit, simple and time-optimal algorithm for solving this problem for unrooted unordered labelled trees and show that the running time of our method is linear with respect to the size of T. By unordered, we mean that the order of the adjacent nodes (children/neighbours) of any node of T is irrelevant. An unrooted tree T does not have a node that is designated as root and can also be referred to as an undirected tree. We show how the presented algorithm can easily be modified to operate on trees that do not satisfy some or any of the aforementioned assumptions on the tree structure; for instance, how it can be applied to rooted, ordered or unlabelled trees.

Original languageEnglish
Article number20130140
JournalPhilosophical Transactions of the Royal Society A Mathematical, Physical and Engineering Sciences
Issue number2016
Publication statusPublished - 28 May 2014
Externally publishedYes


  • Subtree repeats
  • Tree data structures
  • Unrooted unordered labelled trees


Dive into the research topics of 'An optimal algorithm for computing all subtree repeats in trees'. Together they form a unique fingerprint.

Cite this