Abstract
In this dissertation, we propose a general scheme for parallelizing sequential algorithms on trees. We divide these algorithms into two classes, namely Type I algorithms and Type II algorithms. For each type, we give rules depicting transformation mechanisms, transforming a general tree into a binary tree consisting of newly created pseudo nodes. We also transform the original algorithms on general trees into new algorithms on the binary trees. We show that our transformation rules are correct in the sense that the solutions obtained by applying the new transformed algorithms on the transformed binary trees will be the same as those obtained by applying the original algorithms on the original general trees. We then show that the transformed algorithms can be easily parallelized. If the time-complexity of each tree node evaluation is $p(n)$ where $n$ is the number of nodes in the tree, then the corresponding parallel algorithm, runs in $O(\log n p(n))$ time with $O(n/\log n)$ processors under the EREW-PRAM model. Thus our parallel algorithm has an optimal speed-up.