A Simple Optimal Parallel Algorithm for Reporting Paths in a Tree
We present optimal parallel solutions to reporting paths between pairs of nodes in an n-node tree. Our algorithms are deterministic and designed to run on an exclusive read exclusive write parallel random-access machine (EREW PRAM). In particular, we provide a simple optimal parallel algorithm for preprocessing the input tree such that the path queries can be answered efficiently. Our algorithm for preprocessing runs in O( log n) time using O(n/ log n) processors. Using the preprocessing, we can report paths between k node pairs in O( log n + log k) time using O(k + (n + S)/ log n) processors on an EREW PRAM, where S is the size of the output. In particular, we can report the path between a single pair of distinct nodes in O( log n) time using O(L/ log n) processors, where L denotes the length of the path.