The edit distance between two ordered rooted 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(n 3)-time algorithm for this problem, improving the previous best O(n3 log n)-time algorithm . Our result requires a novel adaptive strategy for deciding how a dynamic program divides into subproblems, together with a deeper understanding of the previous algorithms for the problem. We 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 Q(n2 log2 n)  to Ωn 3), matching our algorithm's running time. Furthermore, we obtain matching upper and lower bounds of ⊖(nm2(1 + log m/n)) when the two trees have sizes m and n where m < n.