An optimal randomized parallel algorithm for finding connected components in a graph - Gazit, Hillel (27th Annual Symposium on Foundations of Computer Science (sfcs 1986), 1986)
We present a parallel randomized algorithm for finding the connected components of an undirected graph. Our algorithm takes T = O(log (n)) time and p = O(m+n/(log(n) processors, where m = number of edges and n = number of vertices. This algorithm improves the results of Cole and Vishkin1, which use O(log (n)·log (log (n))· log (log (log (n))) time. Our algorithm is Optimal in the sense that the product P·T is a linear function of the input size. The algorithm requires O(m + n) space which is the input size, so it is Optimal in space as well.