On coding labeled trees
We consider the problem of coding labeled trees by means of strings of node labels. Different codes have been introduced in the literature by Prufer, Neville, and Deo and Micikevicius. For all of them, we show that both coding and decoding can be reduced to integer (radix) sorting, closing several open problems within a unified framework that can be applied both in a sequential and in a parallel setting. Our sequential coding and decoding schemes require optimal O(n) time when applied to n-node trees, yielding the first linear time decoding algorithm for a code presented by Neville. These schemes can be parallelized on the EREW PRAM model. so as to work in O(log n) time with cost O(n), O(n root log n), or O(n log n), depending on the code and on the operation: in all cases, they either match or improve the performances of the best ad hoc approaches known so far. (c) 2007 Elsevier B.V. All rights reserved.
labeled trees graph algorithms prufer-like codes data structures