Parallel Algorithms for the Transitive Closure and the Connected Component Problems


Parallel programs are presented that determine the transitive closure of a matrix using n<supscrpt>3</supscrpt> processors and connected components of an undirected graph using n<supscrpt>2</supscrpt> processors. In both cases, the desired results are obtained in time 0(log<supscrpt>2</supscrpt>n). It is assumed that the processors have access to common memory. Simultaneous access to the same location is permitted for fetch, but not store, instructions. The problem of determining the connected components of a graph using a parallel computer has recently appeared in the literature [1,2]. The result in [1] is based on finding the transitive closure of a matrix in time 0(log<supscrpt>2</supscrpt>n) which can be done using 0(n<supscrpt>3</supscrpt>) processors. We show that n<supscrpt>2</supscrpt> processors are sufficient to solve the connected component problem in time 0(log<supscrpt>2</supscrpt>n). We present algorithm CLOSURE that will find the transitive closure of Boolean matrix M [n by n] using n<supscrpt>3</supscrpt> processors [numbered P(0,0,0) through P(n&minus;1 ,n&minus;1, n&minus;1)] each of which has local memory and each of which can access common array A [n by n].

DOI: 10.1145/800113.803631

Extracted Key Phrases


Citations per Year

83 Citations

Semantic Scholar estimates that this publication has 83 citations based on the available data.

See our FAQ for additional information.

Cite this paper

@inproceedings{Hirschberg1976ParallelAF, title={Parallel Algorithms for the Transitive Closure and the Connected Component Problems}, author={Daniel S. Hirschberg}, booktitle={STOC}, year={1976} }