Computing Prüfer codes efficiently in parallel
A Prüfer code of a labeled free tree with n nodes is a sequence of length n−2 constructed by the following sequential process: for i ranging from 1 to n−2 insert the label of the neighbor of the smallest remaining leaf into the ith position of the sequence, and then delete the leaf. Prüfer codes pro...
Saved in:
| Published in: | Discrete Applied Mathematics Vol. 102; no. 3; pp. 205 - 222 |
|---|---|
| Main Authors: | , |
| Format: | Journal Article |
| Language: | English |
| Published: |
Lausanne
Elsevier B.V
15.06.2000
Amsterdam Elsevier New York, NY |
| Subjects: | |
| ISSN: | 0166-218X, 1872-6771 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Summary: | A
Prüfer code of a labeled free tree with
n nodes is a sequence of length
n−2 constructed by the following sequential process: for
i ranging from 1 to
n−2 insert the label of the neighbor of the smallest remaining leaf into the
ith position of the sequence, and then delete the leaf. Prüfer codes provide an alternative to the usual representation of trees. We present an optimal
O(
log
n)
time,
n/
log
n
processor EREW-PRAM algorithm for determining the Prüfer code of an
n-node labeled chain and an
O(
log
n)
time,
n processor EREW-PRAM algorithm for constructing the Prüfer code of an
n-node labeled free tree. This resolves an open question posed by Wang et al. (IEEE Trans. Parallel Distributed Systems 8 (12) (1997) 1236–1240). |
|---|---|
| ISSN: | 0166-218X 1872-6771 |
| DOI: | 10.1016/S0166-218X(99)00221-8 |