Prof. Michal Ziv-Yukelson

Know all about my research

Fast algorithms for computing tree LCS

Shay Mozes, Dekel Tsur, Oren Weimann, Michal Ziv-Ukelson

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).

Publication language English
Pages 4303-4314
Journal Theoretical Computer Science
Volume 410
Issue number 43
Publication status Published - 06.10.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
Access to Document
10.1016/j.tcs.2009.07.011
Other files and links
Link to publication in Scopus