Fast algorithms for computing tree LCS

    Research output: Contribution to journalArticlepeer-review

    8 Scopus citations

    Abstract

    The LCS of two rooted, ordered, and labeled trees F and G is the largest forest that can be obtained from both trees by deleting nodes. We present algorithms for computing tree LCS which exploit the sparsity inherent to the tree LCS problem. Assuming G is smaller than F, our first algorithm runs in time O (r {dot operator} height (F) {dot operator} height (G) {dot operator} lg lg | G |), where r is the number of pairs (v ∈ F, w ∈ G) such that v and w have the same label. Our second algorithm runs in time O (L r lg r {dot operator} lg lg | G |), where L is the size of the LCS of F and G. For this algorithm we present a novel three-dimensional alignment graph. Our third algorithm is intended for the constrained variant of the problem in which only nodes with zero or one children can be deleted. For this case we obtain an O (r h lg lg | G |) time algorithm, where h = height (F) + height (G).

    Original languageEnglish
    Pages (from-to)4303-4314
    Number of pages12
    JournalTheoretical Computer Science
    Volume410
    Issue number43
    DOIs
    StatePublished - 6 Oct 2009

    Keywords

    • Largest common subforest
    • Ordered trees
    • Sparse dynamic programming
    • Tree LCS
    • Tree edit distance

    ASJC Scopus subject areas

    • Theoretical Computer Science
    • General Computer Science

    Fingerprint

    Dive into the research topics of 'Fast algorithms for computing tree LCS'. Together they form a unique fingerprint.

    Cite this