An Algorithm for Finding the Largest Approximately Common Substructures of Two Trees

Jason T.L. Wang, Bruce A. Shapiro, Dennis Shasha, Kaizhong Zhang, Kathleen M. Currey

Research output: Contribution to journalArticlepeer-review

84 Scopus citations


Ordered, labeled trees are trees in which each node has a label and the left-to-right order of its children (if it has any) is fixed. Such trees have many applications in vision, pattern recognition, molecular biology and natural language processing. We consider a substructure of an ordered labeled tree Tto be a connected subgraph of T. Given two ordered labeled trees 7 and T2 and an integer d, the largest approximately common substructure problem is to find a substructure U1 of 7 and a substructure U2 of T2 such that U1 is within edit distance dof U2 and where there does not exist any other substructure l of 7 and V2 of T2 such that l and V2 satisfy the distance constraint and the sum of the sizes of V-, and V2 is greater than the sum of the sizes of U1 and U2. We present a dynamic programming algorithm to solve this problem, which runs as fast as the fastest known algorithm for computing the edit distance of two trees when the distance allowed in the common substructures is a constant independent of the input trees. To demonstrate the utility of our algorithm, we discuss its application to discovering motifs in multiple RNA secondary structures (which are ordered labeled trees).

Original languageEnglish (US)
Pages (from-to)889-895
Number of pages7
JournalIEEE Transactions on Pattern Analysis and Machine Intelligence
Issue number8
StatePublished - 1998

All Science Journal Classification (ASJC) codes

  • Software
  • Computer Vision and Pattern Recognition
  • Computational Theory and Mathematics
  • Artificial Intelligence
  • Applied Mathematics


  • Computational biology
  • Dynamic programming
  • Pattern matching
  • Pattern recognition
  • Trees


Dive into the research topics of 'An Algorithm for Finding the Largest Approximately Common Substructures of Two Trees'. Together they form a unique fingerprint.

Cite this