An O(n3)-Time Algorithm for Tree Edit Distance
Erik D. Demaine, Shay Mozes, Benjamin Rossman, Oren Weimann
Abstract
The edit distance between two ordered trees with vertex labels is the minimum cost of transforming one tree into the other by a sequence of elementary operations consisting of deleting and relabeling existing nodes, as well as inserting new nodes. In this paper, we present a worst-case O(n3)-time algorithm for this problem, improving the previous best O(n3 n)-time algorithm~Klein. Our result requires a novel adaptive strategy for deciding how a dynamic program divides into subproblems (which is interesting in its own right), together with a deeper understanding of the previous algorithms for the problem. We also prove the optimality of our algorithm among the family of decomposition strategy algorithms--which also includes the previous fastest algorithms--by tightening the known lower bound of Ω(n22 n)~Touzet to Ω(n3), matching our algorithm's running time. Furthermore, we obtain matching upper and lower bounds of Θ(n m2 (1 + nm)) when the two trees have different sizes m and~n, where m < n.
Create a lesson
Related papers
Product Structure Meets Track Layouts
Michael A. Bekos, Giordano Da Lozzo, Petr Hliněný et al.
The Randomized Query Complexity of Finding Minimal Elements in Bounded-Width Posets
Luyao Fan, Jiayang Zou, Jiayang Gao et al.
On the Instance Optimality of Bidirectional Dijkstra's Algorithm
Matic Požar
Hadamard Flattening and Gaussian Pooling Sketch for Least Squares with Coordinate-wise Guarantee
Zhao Song, Lichen Zhang
Cheaper by the Batch: Shared Traversal for Genotype Graph Editing
Aaron Li, Yifan Li, Drew DeHaas et al.
Unpublished Draft: A Post-Processing Approach to Fairness in Tie-Aware Rankings
Somya Nigam, Johan Springael, Kenneth Sörensen