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...
Gespeichert in:
| Veröffentlicht in: | Discrete Applied Mathematics Jg. 102; H. 3; S. 205 - 222 |
|---|---|
| Hauptverfasser: | , |
| Format: | Journal Article |
| Sprache: | Englisch |
| Veröffentlicht: |
Lausanne
Elsevier B.V
15.06.2000
Amsterdam Elsevier New York, NY |
| Schlagworte: | |
| ISSN: | 0166-218X, 1872-6771 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Zusammenfassung: | 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 |