PARALLEL CONSTRUCTION OF ALPHABETIC TREES OPTIMAL Lawrence L. Larmore * Department of Computer Science, University of California, Riverside, CA 92521 Teresa M. Przyt ycka Department of Mathematics and Computer Science Odense University, DK-5239 Odense M, Denmark Wojciech Rytter t Institute of Informatics, Warsaw University ul. Banacha 2, 02-097 Warsaw, Poland A parallel algorithm is given which constructs an optimal alphabetic tree in 0(log3 n) time with n2 log n processors. The construction is basically a paral.lelization of the Garsia-Wachs version [5] of the Hu-tucker algorithm [8]. The best previous NC algorithm for the problem uses n6/ logo(l) n processors. [15] Our method is an extension of techniques used first in [3] and later used in [13] for the Huffman coding problem, which can be viewed as the alphabetic tree problem for the special case of a monotone weight sequence. In this paper, we extend to the cue of certain “almost monotone” sequences, which we call “sorted regular valleys.’ The processing of such subsequences depends on a quadrangle inequality, while the total number of global iterations depends on a kind of tree contraction. Altogether we can view our algorithmic approach as (quadrangle inegualitg + tree contraction). An optimal alphabetic tree is a special case of an optimal binary search tree where all the weights are in the leaves. Thus, the result gives a partial answer to the open problem posed in [3]: is there an NC algorithm which can find an optimal binary search tree and which U*%S 7?6-t p9%s.7.3.2iTa fvr Svme G > o? “ This research was supported by NSF grant CCR9112067. tThis work was done whale the author was vmting Unlver.ltY of California at IUverside The work of th]s author was supported by the proJect A LTEC Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying ia by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. ACM-SPAA’93-6/93 /Velen,Garmany. @ 1993 ACM 0-89791-599-2/93/0006/021 4...$1.50
[1]
Mikhail J. Atallah,et al.
Constructing trees in parallel
,
1989,
SPAA '89.
[2]
Lawrence L. Larmore,et al.
A Fast Algorithm for Optimum Height-Limited Alphabetic Binary Trees
,
1994,
SIAM J. Comput..
[3]
Mikhail J. Atallah,et al.
Efficient Parallel Algorithms for String Editing and Related Problems
,
1990,
SIAM J. Comput..
[4]
T. C. Hu.
A New Proof of the T-C Algorithm
,
1973
.
[5]
Robert E. Wilber.
The Concave Least-Weight Subsequence Problem Revisited
,
1988,
J. Algorithms.
[6]
Lawrence L. Larmore,et al.
The least weight subsequence problem
,
1987,
26th Annual Symposium on Foundations of Computer Science (sfcs 1985).
[7]
F. Frances Yao,et al.
Efficient dynamic programming using quadrangle inequalities
,
1980,
STOC '80.
[8]
Alok Aggarwal,et al.
Notes on searching in multidimensional monotone arrays
,
1988,
[Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.
[9]
D. Huffman.
A Method for the Construction of Minimum-Redundancy Codes
,
1952
.
[10]
David G. Kirkpatrick,et al.
An optimal parallel minimax tree algorithm
,
1990,
Proceedings of the Second IEEE Symposium on Parallel and Distributed Processing 1990.
[11]
T. C. Hu,et al.
Optimal Computer Search Trees and Variable-Length Alphabetical Codes
,
1971
.
[12]
Wojciech Rytter,et al.
On Efficient Parallel Computations for some Dynamic Programming Problems
,
1988,
Theor. Comput. Sci..
[13]
Robert E. Tarjan,et al.
Scaling and related techniques for geometry problems
,
1984,
STOC '84.
[14]
Lawrence L. Larmore,et al.
Parallel construction of trees with optimal weighted path length
,
1991,
SPAA '91.